2016-08-21 118 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

添加一些代碼示例。 –

相關問題