Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中用不同的字符替换一个字符的多次出现_Java_String - Fatal编程技术网

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

在Java中用不同的字符替换一个字符的多次出现,java,string,Java,String,我有一个字符串,其格式为abc-123-def,我想用“u”替换第一个“-”,用“.”替换第二个“-”,我们无法预测“123”部分和“def”部分的值 实现这一点最有效的方法是什么?您可以在循环中使用replacefirst String[] replacements = {"_", "."}; String str = "abc-123-def"; for (String replacement : replacements) { str = str.replaceFirst("-"

我有一个字符串,其格式为abc-123-def,我想用“u”替换第一个“-”,用“.”替换第二个“-”,我们无法预测“123”部分和“def”部分的值


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

您可以在循环中使用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));

可以在循环中使用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));
您可以使用: 字符串str=“abc-123-def”

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

您可以使用: 字符串str=“abc-123-def”


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

在循环中使用
String.replaceFirst()
。在
-
上拆分
字符串
,然后按所需方式重新组合生成的数组?def和123的长度是否始终为3?abc怎么样?是的。实际上是点分隔的数字,例如:1.2.3@Codebender如何使用replaceFirst?你能解释一下吗?在一个循环中使用
String.replaceFirst()
。在
-
上拆分
字符串
,然后按照你想要的方式重新构造生成的数组?def和123的长度总是3吗?abc怎么样?是的。实际上是点分隔的数字,例如:1.2.3@Codebender如何使用replaceFirst?你能解释一下吗?谢谢!这是最好的方法。谢谢!这是最好的办法。