我有一个String,其中包含每个值用逗号(,)分隔的数据。我想用其他分隔符替换逗号。但需要替换逗号。
这意味着需要替换第二次,第四次,第六次逗号。有什么可能的办法吗?
例如:"a,b,c,d,e,f"
是可用字符串,希望输出为"a,b c,d e,f"
。
答案 0 :(得分:4)
你可以像replaceAll
这样使用一些正则表达式:
String str = "a,b,c,d,e,f";
String delimiter = " ";//You can use any delimiter i use space in your case
str = str.replaceAll("([a-zA-Z]+,[a-zA-Z]+)(,)", "$1" + delimiter);
System.out.println(str);
结果
a,b c,d e,f
答案 1 :(得分:2)
这是一个使用字符数组来完成任务的简单代码。
public class ReplaceAlternateCommas {
public static void main(String[] args) {
String str = "a,bg,dfg,d,v";
System.out.println(str);
char[] charArray = str.toCharArray();
int commaCount=0;
char replacementChar = ' ';//replace comma with this character
for(int i=0;i<charArray.length;i++){
char ch = charArray[i];
if(ch==','){
commaCount++;
if(commaCount%2==0){
charArray[i]=replacementChar;
}
}
}
str = new String(charArray);
System.out.println(str);
}
}
如果您不想使用字符数组,可以使用正则表达式或StringBuilder。