字符串可以如下所示。使用java1.6
String example = "<number>;<name-value>;<name-value>";
String abc = "+17005554141;qwq=1234;ddd=ewew;otg=383";
String abc = "+17005554141;qwq=123454";
String abc = "+17005554141";如果出现在字符串中,我希望删除qwq=1234。qwq是固定的,它的值可以VARY类似于ex 1234或12345等。
预期结果:
String abc = "+17005554141;ddd=ewew;otg=383";
String abc = "+17005554141"; \\removed ;qwq=123454
String abc = "+17005554141";我试过了
abc = abc.replaceAll(";qwq=.*;", ""); 但不起作用。
发布于 2018-10-23 13:15:05
我想出了这个qwq=\d*\;?,它起作用了。它在qwq=之后匹配0或更多的小数。它还具有一个可选的参数;,因为您的示例似乎包括这并不总是附加在数字之后。
我知道问题不在于javascript,但这里有一个示例,您可以看到regex起作用:
const regex = /qwq=\d*\;?/g;
var items = ["+17005554141;qwq=123454",
"+17005554141",
"+17005554141;qwq=1234;ddd=ewew;otg=383"];
for(let i = 0; i < items.length; i++) {
console.log("Item before replace: " + items[i]);
console.log("Item after replace: " + items[i].replace(regex, "") + "\n\n");
}
发布于 2018-10-23 13:15:30
您可以使用regex来删除这样的字符串。用这个代码,
String example = "+17005554141;qwq=1234;ddd=ewew;otg=383";
System.out.println("Before: " + example);
System.out.println("After: " + example.replaceAll("qwq=\\d+;?", ""));这提供了以下输出,
Before: +17005554141;qwq=1234;ddd=ewew;otg=383
After: +17005554141;ddd=ewew;otg=383发布于 2018-10-23 13:16:25
.*适用于多个字符,不限于数字.使用只适用于一串数字的东西
abc.replaceAll(";qwq=\\d+", "")
^^
Any Number https://stackoverflow.com/questions/52949923
复制相似问题