我需要在这么多之后删除 coma(,) 。假设有一个带有 4 个逗号的字符串“我,我,好的,今天,你好”,我想在 2 个逗号后删除重置,但只保留文本,只在前 2 个后删除逗号?
问问题
135 次
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
有两种方法可以做,
一种
- 使用 split string 将字符串拆分为字符串数组,使用
yourString.split(",")
. - 循环遍历字符串数组并在前 2 个元素之后添加“,”,然后附加其余元素。
乙
- 使用 indexOf() 查找第二个逗号的位置
- 此时拆分字符串。
- 将第二个子字符串中的 "," 替换为 "" 并将其附加到第一个子字符串中。
于 2012-04-11T01:43:44.407 回答