ben*_*ben 18 java string android
我试图将空格字符替换为我的字符串中的连字符.
String replaceText = "AT AT";
replaceText.replace(' ', '-');
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我似乎无法取代这个角色.我尝试了这种replaceAll()
方法,它也无法正常工作.
++++++回答+++++++
对不起我的错误..深夜编程的结果:(
谢谢你的答案,我可能无法回答所有,所以我会检查第一个答案
replaceText = replaceText.replace(' ', '-');
Run Code Online (Sandbox Code Playgroud)
Eri*_*rik 33
replaceText = replaceText.replace(' ', '-');
Run Code Online (Sandbox Code Playgroud)
字符串是不可变的,它们在创建后不能更改.以某种方式修改字符串的所有方法都将返回包含修改的新字符串.
Mat*_*all 10
您需要保存返回的值replace()
.如果要替换多个匹配项,请使用replaceAll()
.
String replaceText = "AT AT";
replaceText = replaceText.replaceAll(" ", "-");
Run Code Online (Sandbox Code Playgroud)
正如@Mark Peters在评论中指出的那样,replace(Char, Char)
足以(并且更快)替换所有事件.
String replaceText = "AT AT";
replaceText = replaceText.replace(' ', '-');
Run Code Online (Sandbox Code Playgroud)
如果这个事实困扰你:不变性是一个Good Thing
.
该replace
和replaceAll
方法返回一个字符串与被替换的结果.您使用返回的值,还是期望replaceText
String更改?如果是后者,你将看不到变化,因为字符串是不可变的.
String replaceText = "AT AT";
String replaced = replaceText.replace(' ', '-');
// replaced will be "AT-AT", but replaceText will NOT change
Run Code Online (Sandbox Code Playgroud)
replace方法返回一个String,因此你需要重新分配你的字符串变量ie
String replaceText = "AT AT";
replaceText = replaceText.replace(' ', '-');
Run Code Online (Sandbox Code Playgroud)
字符串是不可变的。您需要使用替换的返回值:
replaceText = replaceText.replace(' ', '-');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36050 次 |
最近记录: |