0

我需要在这么多之后删除 coma(,) 。假设有一个带有 4 个逗号的字符串“我,我,好的,今天,你好”,我想在 2 个逗号后删除重置,但只保留文本,只在前 2 个后删除逗号?

4

3 回答 3

1

遍历字符串,使用 StringBuilder 重建并检查逗号:

static String stripCommasAfterN(String s, int n)
{
    StringBuilder builder = new StringBuilder(s.length());
    int commas = 0;

    for (int i = 0; i < s.length(); i++)
    {
        char c = s.charAt(i);

        if (c == ',')
        {
            if (commas < n)
            {
                builder.append(c);
            }
            commas++;
        }
        else
        {
            builder.append(c);
        }
    }   

    return builder.toString();
}
于 2012-04-11T01:48:33.790 回答
0

像这样的事情应该这样做。

public string StripCommas(string str, int allowableCommas) {
    int comma;
    int found = 0;
    comma = str.indexOf(",");
    while (comma >= 0) {
        found++;
        if (found == allowableCommas) {
            return str.substring(0, comma) + str.substring(comma + 1).replaceAll(",", "");            
        }
        comma = str.indexOf(",", comma + 1);
    }
    return str;
}
于 2012-04-11T01:41:05.973 回答
0

有两种方法可以做,

一种

  1. 使用 split string 将字符串拆分为字符串数组,使用yourString.split(",").
  2. 循环遍历字符串数组并在前 2 个元素之后添加“,”,然后附加其余元素。

  1. 使用 indexOf() 查找第二个逗号的位置
  2. 此时拆分字符串。
  3. 将第二个子字符串中的 "," 替换为 "" 并将其附加到第一个子字符串中。
于 2012-04-11T01:43:44.407 回答