我的用户有一个TEXT字段来通知某些数据。我使用正则表达式来分析该文本的每个单词,使用以下语法:
Dim UserInput as string = textbox.text.trim
Dim AllWords as String() = Regex.Split(UserInput, "\W+")
一切顺利,但在“电子邮件”这样的词语中,返回的函数并不认为它是一个完整的单词(由于W +),但它认为该单词只是“邮件”。
由于某些用户更喜欢指定实际MAIL(对于以打印模式直接发送到其家庭地址的合同),但其他用户更喜欢通过电子邮件发送的合同(通过PDF),我们在特定情况下会遇到很多困惑!
如何设置正则表达式以理解像“电子邮件”这样的字词(我知道它输入错误但有些用户以这种方式写电子邮件!)用连字符作为整个单词?
谢谢!
答案 0 :(得分:0)
您可以更改正则表达式以匹配带有连字符的单词。我在C#中编写了这个,但您可以轻松地将其转换为VB.NET。
using System.Text.RegularExpressions;
string UserInput = "This is e-mail too";
string[] AllWords = Regex.Split(UserInput, @"[^-\w]+");
Console.WriteLine(AllWords.Length);
foreach (string x in AllWords)
{
Console.WriteLine(x);
}