Nic*_*Div 1 java string replaceall
我想用不同的UUID替换所有出现的特定字符串.例如,
content = content.replaceAll("xyz", "xyz" + generateUUID());
Run Code Online (Sandbox Code Playgroud)
但问题是所有"xyz"的将被相同的UUID取代.但我希望每个"xyz"都被个人唯一ID取代.如何才能做到这一点?
你可以使用Matcher.appendReplacement.这将为您replaceAll提供完整正则表达式的功能(而不仅仅是静态String).在这里,我用uidCounter的很简单generateUUID; 你应该能够适应你自己的generateUUID功能.
public class AppendReplacementExample {
public static void main(String[] args) throws Exception {
int uidCounter = 1000;
Pattern p = Pattern.compile("xyz");
String test = "abc xyz def xyz ghi xyz";
Matcher m = p.matcher(test);
StringBuffer sb = new StringBuffer();
while(m.find()) {
m.appendReplacement(sb, m.group() + uidCounter);
uidCounter++;
}
m.appendTail(sb);
System.out.println(sb.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
abc xyz1000 def xyz1001 ghi xyz1002
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |