Android App字符串替换问题:替换多个字符报错
解决Java中“字符字面量中字符过多”的字符串替换问题
我太懂这种「以为随手就能搞定,结果编译器给你当头一棒」的挫败感了!你遇到的问题根源其实是把Java里的字符字面量和字符串字面量搞混了。
你写的代码里用了单引号包裹</td>:
String = String2.replace('</td>',' ');
但在Java的语法规则里,单引号'只能用来包裹单个字符,而</td>是由多个字符组成的子串,所以编译器直接抛出了“字符字面量中字符过多”的错误。
正确的写法
要替换字符串中的子串,必须用双引号"来包裹目标内容,而且String类的replace方法本身就会替换所有匹配的子串(不需要额外用正则)。另外还要注意变量名的写法,你不能直接写String = ...,得给结果赋值一个合法的变量名,比如:
// 假设原字符串是String2,把替换后的结果存到新变量里 String processedString = String2.replace("</td>", " "); // 如果不需要保留原字符串,也可以直接覆盖 // String2 = String2.replace("</td>", " ");
小提醒
以后区分清楚:
- 单个字符替换用单引号:比如
replace('x', 'y') - 多字符子串替换用双引号:比如
replace("abc", "def")
内容的提问来源于stack exchange,提问作者user9827495
相关产品推荐
相关产品推荐

