vb.net - 使用 StringSplitOptions 获取单词列表 VB.NET
问题描述
试图从 RichTextBox 获取电子邮件列表以在列表框中。
所以我使用(对于每个,StringSplitOptions,来分割全文)
Richtextbox :“one@gmail.com two@yahoo.com three@hotmail.com 就是这样”
代码
For Each str As String In RichTextBox1.Text.Split(New String() {"@"}, StringSplitOptions.None)
ListBox1.Items.Add(str.Substring(str.LastIndexOf(" ") + 1))
Next
结果列表框:
一
二
三
全部
解决方案
如果您在“@Gmail.com”上搜索,您可以将循环更改为整数
对于 i = 0 到 Length - 1 并使用子字符串
(str.substring(str.indexof(" "), str.indexof(" .com")),或者只是添加+@gmail.com
那么它的正常原因你得到分裂@,所以你需要使用正则表达式
但在那种情况下,你会找到所有邮件论坛,所以我建议,要获得有效的电子邮件列表,搜索包含电子邮件列表的(@ 和 .)。
Dim reg As Regex = New Regex("(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@" &
"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\." &
"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|" &
"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})", RegexOptions.Compiled Or RegexOptions.IgnoreCase)
For Each email As Match In reg.Matches(RichTextBox1.Text)
ListBox1.Items.Add(email.Value.ToString())
Next
MessageBox.Show("Done")
希望它有效
推荐阅读
- spring - 使用 beanutils.properties 方法将属性从源类复制到目标类
- android - Google Analytics - 在网络浏览器中工作的 URL,而不是在 Unity 编辑器中
- pandas - UserWarning 的任何修复:pyarrow.open_stream 已弃用,请使用 pyarrow.ipc.open_stream?
- python - 如何在 admin.py 中使用带有部分模板的字段集?
- python - 仅使用加法和减法查找两个数字的乘积?
- python-2.7 - account.payment 中的 journal_id 字段在 odoo 10 中没有被覆盖
- javascript - 动画正在减慢网页的性能
- sql - SQL 存储过程 - 理解 SQL 语句
- python - 如何点击图片 selenium python
- java - 以响应式方式使用分页 API