在Java中,如何将数字和十进制替换为字符串



我有下面的字符串。

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"));

对于十进制和字符串,您必须调整代码。

也许你会得到更好的模式和匹配器。这里有一个例子。

最新更新