我有一个类似的字符串
JNDI Locations eis/FileAdapter,eis/FileAdapter used by composite
HelloWorld1.0.jar are not available in the
destination domain.
eis/FileAdapter,eis/FileAdapter 出现两次。 我希望它的格式为
JNDI Locations eis/FileAdapter used by composite
HelloWorld1.0.jar are not available in the
destination domain.
我尝试了下面的事情
String[ ] missingAdapters =((textMissingAdapterList.item(0)).getNodeValue().trim().split(","));
missingAdapters.get(0)
但我错过了第二部分,有更好的方法来处理这个问题吗?
最佳答案
在您确认问题下方的评论中,重复项将始终通过逗号连接。使用此信息,这应该可行(对于大多数情况):
String replaceCustomDuplicates(String str) {
if (str.indexOf(",") < 0) {
return str; // nothing to do
}
StringBuilder result = new StringBuilder(str.length());
for (String token : str.split(" ", -1)) {
if (token.indexOf(",") > 0) {
String[] parts = token.split(",");
if (parts.length == 2 && parts[0].equals(parts[1])) {
token = parts[0];
}
}
result.append(token + " ");
}
return result.delete(result.length() - 1, result.length()).toString();
}
用你的例子做一个小演示:
String str = "JNDI Locations eis/FileAdapter,eis/FileAdapter used by composite";
System.out.println(str);
str = replaceCustomDuplicates(str);
System.out.println(str);
修复了之前的错误
block 引用>
关于java - 去除重复的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234103/