用Java中的不同字符替换多个出现的一个字符

时间:2015-07-09 03:37:07

标签: java string

我有一个格式为{{1}}的字符串,我希望将第一个“ - ”替换为“_”,将第二个“ - ”替换为“。”我们无法预测“123”部分和“def”部分的价值。

实现这一目标的最有效方法是什么?

2 个答案:

答案 0 :(得分:5)

你可以在循环中使用replacefirst。

String[] replacements = {"_", "."};
String str = "abc-123-def";

for (String replacement : replacements) {
    str = str.replaceFirst("-", replacement);
}

这将按替换数组的顺序替换每个-

或者,如果你更喜欢使用java 8功夫:

str = Stream.of("_", ".").reduce(str, (a, b) -> a.replaceFirst("-", b));

答案 1 :(得分:0)

您可以使用: String str =“abc-123-def”;

str.replaceFirst( “ - ”, “_”)replaceFirst( “ - ”, “”);