我有一些數字和英文單詞的字符串,我需要將它們翻譯成我的母語,方法是找到它們並用本地化版本替換它們。你知道如何輕鬆實現替換字符串中的單詞嗎?Android - 如何用另一個字符串替換部分字符串?
感謝
編輯:
我已經試過(字符串的一部分 「改爲」 應以 「某某」 代替):
string.replace("to", "xyz")
但它不工作...
我有一些數字和英文單詞的字符串,我需要將它們翻譯成我的母語,方法是找到它們並用本地化版本替換它們。你知道如何輕鬆實現替換字符串中的單詞嗎?Android - 如何用另一個字符串替換部分字符串?
感謝
編輯:
我已經試過(字符串的一部分 「改爲」 應以 「某某」 代替):
string.replace("to", "xyz")
但它不工作...
它正在工作,但它不會修改調用者對象,而是返回一個新的String。
因此,您只需將其分配到一個新的字符串變量,或者本身:
string = string.replace("to", "xyz");
或
String newString = string.replace("to", "xyz");
API文檔
public String replace (CharSequence target, CharSequence replacement)
自:API級別1
將此字符串替換爲 將指定的目標 序列與另一個序列進行替換。 字符串從 開始處理到最後。
參數
target
更換序列。replacement
替換 序列。返回結果字符串。
如果目標或替換爲空,則拋出NullPointerException
。
你只犯了一個錯誤。
在那裏使用replaceAll()
函數。
例如
String str = "Hi";
String str1 = "hello";
str.replaceAll(str, str1);
- 'replaceAll()'函數不會改變原始字符串,它會返回處理後的字符串! – rekaszeru 2011-09-27 08:43:58
String str = "to";
str.replace("to", "xyz");
試試吧:)
可吸引您:
在java中,字符串對象是不可改變的。不可變只是意味着不可修改或不可改變。
創建字符串對象後,其數據或狀態不能更改,但會創建新的字符串對象。
rekaszeru
我注意到,你在2011年的評論,但我想我應該反正張貼此答案,萬一有人需要「代替原來的字符串」,並運行到這個答案..
林使用的EditText作爲例子
// GIVE TARGET的名稱文本框中
EditText textbox = (EditText) findViewById(R.id.your_textboxID);
//替換字符串
String oldText = "hello"
String newText = "Hi";
String textBoxText = textbox.getText().toString();
//替換字符串與所返回的STRINGS
String returnedString = textBoxText.replace(oldText, newText);
//使用返回的字符串等的更換新的字符串INSIDE TEXTBOX
textbox.setText(returnedString);
這是未經測試,但它只是一個使用返回的字符串替換原始佈局字符串與setText()的例子!
顯然這個示例要求您有設置爲your_textboxID
感謝ID的EditText上,這就是我一直在尋找 – Waypoint 2011-04-22 10:22:58
@rekaszeru謝謝... 你的回答是非常有益的。 – 2011-10-14 12:20:50
我怎樣才能把multipel的東西?例如'替換字母h或l'? – 2016-02-11 03:26:26