安卓。替换字符串中的 * 字符

Posted

技术标签:

【中文标题】安卓。替换字符串中的 * 字符【英文标题】:Android. Replace * character from String 【发布时间】:2013-01-13 11:37:09 【问题描述】:

我有一个字符串变量,其中包含“*”。但在使用它之前,我必须替换所有这些字符。

我尝试了 replaceAll 功能但没有成功:

text = text.replaceAll("*","");
text = text.replaceAll("*",null);

有人可以帮我吗?谢谢!

【问题讨论】:

【参考方案1】:

为什么不直接使用String#replace() 方法,它不使用regex 作为参数:-

text = text.replace("*","");

相反,String#replaceAll() 将正则表达式作为第一个参数,并且由于 * 是正则表达式中的 元字符,因此您需要对其进行转义,或者在字符类中使用它.所以,你的做法是:-

text = text.replaceAll("[*]","");  // OR
text = text.replaceAll("\\*","");

但是,你真的可以在这里使用简单的替换

【讨论】:

但是如果 String 有超过 1 个字符,它会删除所有 * 吗? @arhimed。是的,当然它会删除所有这些。只需在您的示例字符串上尝试一下。【参考方案2】:

你可以简单地使用String#replace()

text = text.replace("*","");

String.replaceAll(regex, str) 将正则表达式作为第一个参数,因为* 是一个元字符,您应该使用反斜杠对其进行转义以将其视为普通字符。

text.replaceAll("\\*", "")

【讨论】:

【参考方案3】:

试试这个。

您需要为正则表达式转义 *,使用 .

text = text.replaceAll("\\*","");

【讨论】:

以上是关于安卓。替换字符串中的 * 字符的主要内容,如果未能解决你的问题,请参考以下文章

java 替换文本中的所有指定的字符串,比如#*替换为sq, #**替换为we, 我使用了replaceAll进行的替换

sql怎么替换字符串中的某个字符

js 中如何替换字符串例如:

linux sed 如何替换字符串中的反斜杠\

mybatis中的字符串替换

js 中如何替换字符串?