更换两个支架内的任何东西

时间:2017-10-13 15:04:58

标签: java regex

我有这个字符串:

String string = "The status is %status(" + randomString + ")%";

如何用百分号替换百分号之间的部分,但不知道randomString?

3 个答案:

答案 0 :(得分:0)

您可以使用String.replaceAll。一个例子:

String randomString = "asdf";
String string = "The status is %status(" + randomString + ")%";
String replacement = "myStatus";
String fString = string.replaceAll("%status(.*)%", replacement);
System.out.println(fString);

哪个输出:

The status is myStatus

答案 1 :(得分:0)

您要使用的正则表达式为%(.+)%,其匹配%status(foo)%%status(asidh37887123-48hsZXas;;fgfg)%

要替换它,您可以执行string.replaceAll("%(.+)%", "anything")

这会将The status is %status(foo)%变为The status is anything

答案 2 :(得分:0)

两种方法:

String string = "The status is %status(aaaaaaaaaaaaaaa)%";
        int x = string.indexOf("%");
        int y = string.lastIndexOf("%");
        System.out.println(x);
        System.out.println(y);
        string = string.substring(0,x)+string.substring(y+1,string.length());
        System.out.println(string);

        string = "The status is %status(aaaaaaaaaaaaaaa)%";
        string = string.replaceAll("%.+%", "");
        System.out.println(string);

结果:

enter image description here

相关问题