Java - 替换逗号

时间:2017-10-30 07:46:21

标签: java string

我有一个String,其中包含每个值用逗号(,)分隔的数据。我想用其他分隔符替换逗号。但需要替换逗号。
这意味着需要替换第二次,第四次,第六次逗号。有什么可能的办法吗?

例如:"a,b,c,d,e,f"是可用字符串,希望输出为"a,b c,d e,f"

2 个答案:

答案 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

regex demo

答案 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。