使用正则表达式从字符串中删除所有空格

时间:2015-09-28 15:54:27

标签: regex vb.net

我有一个像这样的字符串:

dim ItemDesc as string=PHOTO COPY PAPER A4 GALAXY

如果字符串包含任何特殊字符,那么我想删除它,所以我给出这样的代码:

 ItemDesc = Regex.Replace(ItemDesc, "[^A-Za-z0-9\-/]", "") 

所以这次我得到没有空格的itemdes值

PHOTOCOPYPAPERA4GALAXY

我想只保留我的空间..所以我可以重新编写代码

2 个答案:

答案 0 :(得分:2)

您应该在正则表达式中添加空格(或空格字符):

即:

[^A-Za-z0-9\-\/\ ]

https://regex101.com/r/dH4bC7/2

答案 1 :(得分:1)

您需要使用

[^A-Za-z0-9/\p{Zs}-]

在C#正则表达式中,您不需要转义/并匹配所有可以使用\p{Zs} Unicode类别类别的空格。

请参阅regex demo

正则表达式[^A-Za-z0-9/\p{Zs}-]匹配任何非NOT:

的字符
  • 拉丁文大写字母(A-Z
  • 拉丁文小写字母(a-z
  • 一个数字(0-9
  • 正斜杠(/
  • 任何Unicode空间(\p{Zs}
  • 连字符(-)。