最小化字符串替换的长代码的方法

时间:2013-12-28 13:25:02

标签: android regex string replace

嗨,这是我替换字符的代码:

string.replace("は", "b");
string.replace("ハ", "b");

我想要的是使用OR运算符

最小化代码
string.replace("は" || "ハ", "b");

但它不起作用。有没有办法尽量减少上面的第一个代码?你能提供一些代码或教程吗?

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式

pattern = "([vb]a)";
string.replaceAll(pattern, "b");

修改

它应该以同样的方式工作:

pattern = "(は|ハ)";
string.replaceAll(pattern, "b");

或者如下所示:

string.replaceAll("(は|ハ)", "b");

有关正则表达式及其工作原理的精彩教程,请查看http://www.vogella.com/articles/JavaRegularExpressions/article.html

答案 1 :(得分:0)

一个班轮:

String output = input.replaceAll("[vb]a","b");

随着你的新输入,它将是:

string = string.replaceAll("[はハ]", "b");

第一个表达式称为“正则表达式” - 一种表示字符串模式的非常强大的方法。这是最简单的一个。说明:

[]    indicates character class. Without a quantifier (?,*,+,{n,m}), it says
      "Match exactly one character from this list"

您可以将所有字符替换为一个字符串(不需要|字符)。我认为这是你所追求的最紧凑的代表。

值得研究正则表达式。见http://www.regular-expressions.info的优秀入门书。您可以在http://www.regex101.com

练习