C# 为什么不是';我的正则表达式没有删除空格吗?
我使用下面的代码来确定输入textBoxAddress.Text的值是数字(传真号码)还是电子邮件地址。如果传真号码有空格,我下面的isNumber测试将不起作用,因此我尝试用正则表达式删除所有空白,空白不会被删除。你能发现我的问题吗 多谢各位C# 为什么不是';我的正则表达式没有删除空格吗?,c#,regex,C#,Regex,我使用下面的代码来确定输入textBoxAddress.Text的值是数字(传真号码)还是电子邮件地址。如果传真号码有空格,我下面的isNumber测试将不起作用,因此我尝试用正则表达式删除所有空白,空白不会被删除。你能发现我的问题吗 多谢各位 string faxOrEmail = textBoxAddress.Text; faxOrEmail = Regex.Replace(faxOrEmail, @"\s+", " "); //<---Regex bool
string faxOrEmail = textBoxAddress.Text;
faxOrEmail = Regex.Replace(faxOrEmail, @"\s+", " "); //<---Regex
bool testForFax = IsNumber(faxOrEmail);
if (testForFax == true)
{
//send fax
MessageBox.Show(faxOrEmail);
}
else
{
backgroundWorker1.RunWorkerAsync(); //Send Email
}
static bool IsNumber(string value)
{
// Return true if this is a number.
int number1;
return int.TryParse(value, out number1);
}
string faxOrEmail=textBoxAddress.Text;
faxOrEmail=Regex.Replace(faxOrEmail,@“\s+”,“”)// 试试这个:
faxOrEmail = Regex.Replace(faxOrEmail, @"\s+", "");
我不太懂C#to,但如果您想删除空格,请尝试用空字符串而不是空格替换它:)您正在用空格替换空格!使用String.Empty可避免以下问题:
faxOrEmail = Regex.Replace(faxOrEmail, @"\s+", String.Empty);
您正在用单个空间替换一个或多个空间
Regex.Replace(faxOrEmail, @"\s+", string.Empty);
这不会删除破折号,也不需要IsNumber方法
string.Join(string.Empty, faxOrEmail.ToCharArray().Where(x=> char.IsNumber(x)))
上述各项:
或
根本不要使用正则表达式。如果要用一个空格替换两个或多个连续空格,只需使用Replace方法将“
替换为”
,然后执行以下操作:
faxOrEmail = Regex.Replace(faxOrEmail, @"\s{2,}", " ");
faxOrEmail = Regex.Replace(faxOrEmail, @"\s+", string.Empty);
如果要删除所有空格,请执行以下操作:
faxOrEmail = Regex.Replace(faxOrEmail, @"\s{2,}", " ");
faxOrEmail = Regex.Replace(faxOrEmail, @"\s+", string.Empty);
例如,如果faxOrEmail仅包含空格(“”),而没有选项卡,则可以使用:
faxOrEmail = faxOrEmail.Replace(" ", "");
另一方面,您也可以使用正则表达式删除除十进制数字以外的所有内容(包括破折号、斜杠、括号等):
faxOrEmail = Regex.Replace(faxOrEmail, "[^0-9]", "");
事实上,我不喜欢这个答案,如果海报使用了String.Empty,首先他就不会遇到这个问题……正如我所说,我不知道c,所以我使用了“”这是空字符串的一种常见形式:)你想一个一个地删除两个或多个空格,对吗?然后执行以下操作:然后执行以下操作:Regex.Replace(faxOrEmail,@“\s{2,},”)代码>我使用它。嗨,威尔,你能给我一个如何使用string.join的例子吗?我尝试了faxOrEmail=string.Join(string.Empty…),但遇到了一个关于无效参数的错误。Thanks@SteveWood:我给出的示例运行良好。已对其进行测试。需要有关错误的更多信息以找出问题所在。非常感谢。