Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找到子字符串并重新定位它_Java_String_Substring - Fatal编程技术网

Java 找到子字符串并重新定位它

Java 找到子字符串并重新定位它,java,string,substring,Java,String,Substring,我试图在字符串中找到一个子字符串。如果字符串不包含子字符串,则将其添加到字符串的后面。但是,在一些数据中,子串位于中间(假设它位于后面(地址))。 boolean checkState=s.getAddress().contains(“MELAKA”); 字符串[]addr=s.getAddress().split(“,”); 字符串newTrimAddress=addr[0]; for(int i=1;i

我试图在字符串中找到一个子字符串。如果字符串不包含子字符串,则将其添加到字符串的后面。但是,在一些数据中,子串位于中间(假设它位于后面(地址))。
boolean checkState=s.getAddress().contains(“MELAKA”);
字符串[]addr=s.getAddress().split(“,”);
字符串newTrimAddress=addr[0];
for(int i=1;i

最后但并非最不重要的一点是,如果有任何方法可以删除子字符串的第二次或第三次出现,因为地址的结构非常糟糕。城市是多余的,我可以替换它,因为有一些房子的地址有城市名称。谢谢。

Java的子字符串方法允许您输入开始索引和(可选)结束索引。因此,如果您需要删除中间部分,可以执行第一部分的子字符串,并将其与最后一部分的子字符串连接起来。

为什么不直接使用? 这将允许您在任何位置替换子字符串。它还具有查找子字符串的任何副本的额外好处。您还可以将该字符串替换为空字符串,然后按照自己的喜好将其前置,例如:

String trimmed = originalString.replaceAll("MELAKA", "");
String trimmed = trimmed + "," + "MELAKA";

让我直截了当地说:如果子字符串出现多次,你想删除所有这些实例吗?@WillemVanOnsem让我们说,如果它出现第三次,我想删除它。我只想删除最后一个我不能这样做,因为一些住宅区的名称包含城市名称。例如:塔曼·梅尔利莫·巴鲁(住宅区)、梅尔利莫(城市)
String trimmed = originalString.replaceAll("MELAKA", "");
String trimmed = trimmed + "," + "MELAKA";