我想为给定字符串中的每个单词添加前缀。我的代码是: -
StringBuilder strColsToReturns = new StringBuilder();
String strPrefix = "abc.";
strColsToReturns.append(String.format(" %sId, %sname, %stype,", strPrefix, strPrefix, strPrefix));
对于小字符串,这很好,但是我有一个非常大的静态字符串。因此,这种添加字符串前缀的方法看起来像一个繁琐的方法。有没有其他复杂的方法来实现这一目标。
答案 0 :(得分:4)
您可以使用replaceAll(regex, replacement)
。作为正则表达式,我们可能想要选择具有
(我们可以在这里使用look-around机制)
所以这样的事情应该有效:
String replaced = originalString.replaceAll("(?<=\\s|^)(?=\\S)", "abc.");
但如果replacement
可以包含$
或\
个字符,则需要使用\
或Matcher.quoteReplacement(replacement)
方法将其转义。
String originalString = "foo bar baz";
String replaced = originalString.replaceAll("(?<=\\s|^)(?=\\S)", Matcher.quoteReplacement("abc."));
System.out.println(replaced);
输出:abc.foo abc.bar abc.baz