用正则表达式替换两个符号之间的文本
Replace text between two symbols with regex
这应该很简单,但我不知道正则表达式...我在这里看到过很多类似的问题,但 none 正好解决了我想要的问题。
我有这个字符串:
String s = "randomStuff§dog€randomStuff"; //randomStuff is random letters and numbers, it's not a word
我想用鸟替换狗(它并不总是狗,不要将它包含在正则表达式中),所以输出应该是:
String s = "randomStuff§bird€randomStuff";
我现在用的是
s = s.replaceAll("\§(.*?)\€", "bird");
但这也会删除 § 和 € 符号。如何保留这些符号?
尝试:
s = s.replaceAll("\§(.*?)\€", "§bird€");
您可以在您的正则表达式中使用此回顾断言:
s = s.replaceAll("(?<=§)[^€]*", "bird");
这应该很简单,但我不知道正则表达式...我在这里看到过很多类似的问题,但 none 正好解决了我想要的问题。 我有这个字符串:
String s = "randomStuff§dog€randomStuff"; //randomStuff is random letters and numbers, it's not a word
我想用鸟替换狗(它并不总是狗,不要将它包含在正则表达式中),所以输出应该是:
String s = "randomStuff§bird€randomStuff";
我现在用的是
s = s.replaceAll("\§(.*?)\€", "bird");
但这也会删除 § 和 € 符号。如何保留这些符号?
尝试:
s = s.replaceAll("\§(.*?)\€", "§bird€");
您可以在您的正则表达式中使用此回顾断言:
s = s.replaceAll("(?<=§)[^€]*", "bird");