RegEx:在匹配的模式后在字符串中插入空格

时间:2015-07-18 18:47:17

标签: java regex replaceall

在Java中我想在字符串后面插入一个空格,但前提是字符串包含" MAVERICK"。我认为使用使用正则表达式作为参数的replaceAll()方法会做到这一点,但我并没有真正得到它。

这是我的

String s = "MAVERICKA";
//the last character can be from the following set [A,Z,T,SE,EX]

所以,我想让函数返回字符串" MAVERICK A"或" MAVERICK EX"。 实施例

  • MAVERICKA - > MAVERICK A
  • MAVERICKEX - > MAVERICK EX

此外,如果字符串格式正确,则不应插入空格。即

  • MAVERICK A - > MAVERICK A

3 个答案:

答案 0 :(得分:6)

这样的东西
s = s.replaceAll("MAVERICK(A|Z|T|SE|EX)", "MAVERICK $1");

答案 1 :(得分:3)

另一个不知道尾随字母的解决方案是:

String spaced_out = s.replaceAll("(MAVERICK)(?!\s|$)", "$1 ");

答案 2 :(得分:2)

你的意思是这样的:

String r = s.replaceAll("(MAVERICK)([AZT]|SE|EX)", "$1 $2");