繁体   English   中英

Java正则表达式到groovy

[英]Java regex to groovy

我在Java中得到了以下代码,用正则表达式替换为空白:

private static final String SCRUB_REGEX = "[\\<\\>\\\"\\'\\(\\)\\\\\\n\\r\\f]";
private static final String SCRUB_REPLACEMENT = " ";
String trim = value.replaceAll(SCRUB_REGEX, SCRUB_REPLACEMENT).trim();

我正在尝试在SoapUI的常规脚本中使用它,但它似乎并没有实际修剪。 Groovy是否无法识别Java正则表达式?

temp =testStep.getPropertyValue(sorted).replaceAll("[\\<\\>\\\"\\'\\(\\)\\\\\\n\\r\\f]", " ").trim()

我已经完成导入以导入java.util.regex。*

您不需要import java.util.regex.*

斜杠使事情变得更容易:

String SCRUB_REGEX = /[<>"'()\\\n\r\f]/
String SCRUB_REPLACEMENT = ' '
String trim = value.replaceAll(SCRUB_REGEX, SCRUB_REPLACEMENT).trim();

因此,它将替换所有:

  • <
  • >
  • "
  • '
  • (
  • )
  • \\
  • \\n
  • \\r
  • \\f

带空格

没有输入和输出很难说,但有几点评论:

  1. 在字符类中时,不需要转义特殊字符(放在方括号[]之间)。 您仍然需要对特殊结构使用单个转义符。 您可以改用以下模式:

"[<>\\"'()\\n\\r\\f]"

  1. 您可能只想用一个空格替换多次出现的字符。 在这种情况下,请添加一个量词,如下所示:

"[<>\\"'()\\n\\r\\f]+"

  1. String.trim仅修剪给定String的开头和结尾空白。 中间的任何内容都不会被修剪。 如果String完全是空格,则trim将返回一个空的String

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM