Java String Regex替换

时间:2015-07-17 06:56:50

标签: java regex string

示例输入:

a:b
a.in:b
asds.sdsd:b
a:b___a.sds:bc___ab:bd

示例输出:

a:replaced
a.in:replaced
asds.sdsd:replaced
a:replaced___a.sds:replaced___ab:replaced

:之后的字符串应替换为自定义函数。 我没有使用Regex做同样的事情。我觉得它可以用正则表达式替换,因为我们试图从特定模式中提取字符串。

对于前三种情况,在String之后提取:非常简单,但我无法找到处理第三种情况的方法,除非我拆分字符串___并将方法应用于第一种模式并再次连接它们。

2 个答案:

答案 0 :(得分:4)

只需将:旁边的字母替换为字符串replaced

string.replaceAll("(?<=:)[A-Za-z]+", "replaced");

DEMO

如果您还想处理数字,请在char类中添加\d

string.replaceAll("(?<=:)[A-Za-z\\d]+", "replaced");

答案 1 :(得分:4)

(:)[a-zA-Z]+

您可以使用string.replaceAll执行此操作。替换为$1replaced。请参阅演示。

https://regex101.com/r/fX3oF6/18