我有下面的字符串。
Functions.substring(Functions.test(1,Functions.test("TestString1")),0.9,0,"TestString2",true)
在上面的字符串中,我想将数字(如上例中的 0 和 1(替换为整数。浮点值(Ex: 0.9
( 作为十进制,字符串 (EX: "TestString1" and "TestString2"
( 作为字符串。
结果:Functions.substring(Functions.test(Integer,Functions.test(String)),Decimal,Integer,String,true)
我尝试使用以下正则表达式使用替换功能,但它不起作用。
decimal: ^[+-]?d+(.d+)?$
number : ^-?(0|[1-9]d*)(d+)?$
String : ".*?"
下面是 java 代码:
public static void main(String[] args) {
System.out.println("Functions.substring(Functions.test(1,Functions.test("TestString1")),0.9,0,"TestString2",true)".replaceAll("^-?(0|[1-9]\d*)(\d+)?$", "Intger"));
}
对于整数部分,您必须执行以下操作:
System.out.println("Functions.substring(Functions.test(1,Functions.test("TestString1")),0.9,99,"TestString2",true)".replaceAll("(?<=\(|,)\d+(?=\)|,|$)", "Intger"));
对于十进制和字符串,您必须调整代码。
也许你会得到更好的模式和匹配器。这里有一个例子。