我希望使用groovy从字符串中删除特殊字符,我几乎在那里,但它正在删除我想要保留的已经存在的空白区域。我只想删除特殊字符(而不是留下空格)。我在PostCode L& 65 $$ OBH
上运行以下内容def removespecialpostcodce = PostCode.replaceAll("[^a-zA-Z0-9]+","") log.info removespecialpostcodce
目前它返回L65OBH,但我正在寻找它返回L65 OBH
有人可以帮忙吗?
答案 0 :(得分:3)
使用以下代码:
PostCode.replaceAll("[^a-zA-Z0-9 ]+","")
而不是
PostCode.replaceAll("[^a-zA-Z0-9]+","")
答案 1 :(得分:0)
要删除字符串中的所有特殊字符,可以使用反正则表达式字符:
replaceAll("[^A-Za-z-0-1]","")
但是我注意到此解决方案有局限性,因为此代码:
String str = "..\\.-._./-^+* ".replaceAll("[^A-Za-z-0-1 ]","")
System.out.println("str: <"+str+">")
输出:
<-- >
如您所见,“-”和“”未删除。
要删除它们,您可以执行以下操作:
str = str.replaceAll("[- ]", "")