从字符串中删除特殊字符在Groovy脚本中

时间:2016-04-05 12:41:23

标签: groovy soapui

我希望使用groovy从字符串中删除特殊字符,我几乎在那里,但它正在删除我想要保留的已经存在的空白区域。我只想删除特殊字符(而不是留下空格)。我在PostCode L& 65 $$ OBH

上运行以下内容
def removespecialpostcodce = PostCode.replaceAll("[^a-zA-Z0-9]+","")
log.info removespecialpostcodce 

目前它返回L65OBH,但我正在寻找它返回L65 OBH

有人可以帮忙吗?

2 个答案:

答案 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("[- ]", "")