我正在尝试在字符串中查找子字符串。如果字符串不包含子字符串,则将在字符串的后面添加。但是,在某些数据中,子串位于中间(假设位于后面(地址))。
boolean checkState = s.getAddress().contains("MELAKA");
String[] addr = s.getAddress().split(",");
String newTrimAddress = addr[0];
for (int i = 1; i < addr.length; i++) {
boolean check = false;
for (int j = i + 1; j < addr.length; j++) {
if (addr[i].equals(addr[j])) {
check = true;
break;
}
}
if (check == false) {
newTrimAddress += ", " + addr[i];
}
}
if (checkState == false)
newTrimAddress += ", " + "MELAKA";
System.out.println(newTrimAddress);
最后但并非最不重要的是,如果有任何方法我可以删除第二或第三次出现的子字符串,因为地址的结构非常糟糕。这个城市是冗余的,我可以替换它,因为有一些房子的地址有城市名称。谢谢。
答案 0 :(得分:0)
Java的substring方法允许您输入起始索引和(可选)结束索引。所以,如果你需要删除部分中间部分,你可以做第一部分的子串,并将它与最后一部分的子串连接。
答案 1 :(得分:0)
为什么不使用String.replaceAll(String subString)? 这将允许您替换子字符串,无论它在哪里。它还具有查找子字符串的任何重复项的附加好处。您也可以用空字符串替换字符串,然后以您喜欢的方式添加它,例如:
String trimmed = originalString.replaceAll("MELAKA", "");
String trimmed = trimmed + "," + "MELAKA";