2016-08-21 60 views
-4

我正在一个Android应用程序,其中我有一个标签上的段落,当用户点击一个字用户可以替换该字,我的问题是所有与点击词类似的词都被替换,因为我正在使用.replace,我需要做的是替换仅点击的词。如何替换字符串中的字,而不使用.replace

+1

能否请您分享您的代码被轻敲字? –

+3

您需要获取“起点索引”和“结束索引”以便操纵特定字符串内的特定字符串。 – Enzokie

+0

您究竟如何检测哪个单词被点击? –

回答

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检测标签

0

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

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

一旦你有开始和结束索引,你可以简单地在这个位置放置一个“”直到下一个空格(结束的词)。 然后,您可以使用字符串insert()方法以及您之前找到的位置来放置一个旧字词存在的新字词。

希望这有帮助。

+0

添加一些代码示例。 –

相关问题