如何在不使用.replace的情况下替换java中字符串中的单词

时间:2016-08-21 05:38:42

标签: java android

我正在开发一个Android应用程序,其中我在标签上有一个段落,当用户点击一个单词时,用户可以替换该单词,我的问题是所有与单击的单词相似的单词正在替换因为我使用.replace,我需要做的是替换仅被点击的单词。

2 个答案:

答案 0 :(得分:0)

正如Enzokie先前所说,你应该看一下你想删除的单词的起始和结束索引。

如果我理解正确,您希望替换用户选择的单词。 String类有很多方法,对这种东西真的很有帮助。您想要使用的是Java String indexOf(String str)方法。这将找到第一次出现该单词的第一个索引。如果您不想第一次出现,可以使用其他类似功能的方法:http://www.tutorialspoint.com/java/java_string_indexof.htm

一旦你有了起始和结束索引,你可以简单地在位置放置一个“”,直到下一个空格(单词的结尾)。 然后,您可以使用String insert()方法和您之前找到的位置来放置旧单词所在的新单词。

希望这有用。

答案 1 :(得分:0)

我已经找到了解决方案,我用过......

int indexStart = labelCode.getSelectionStart(); 
int indexEnd = labelCode.getSelectionEnd(); 
String a = codeText.substring(0,indexStart); 
String b = codeText.substring(indexEnd,codeText.length()); 
String finalAns = a+newVar+b; 

我使用Spannable ... .getClickableSpan来检测标签上的抽头字