Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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 - Fatal编程技术网

Java 删除字符串末尾的逗号

Java 删除字符串末尾的逗号,java,Java,我正在尝试将哈希集转换为逗号分隔的字符串 但问题是,我在字符串的末尾得到了一个额外的逗号,如图所示。 请告诉我如何删除字符串末尾多余的逗号 import java.util.HashSet; import java.util.Set; public class Test { private static Set<String> symbolsSet = new HashSet<String>(); static { symbolsS

我正在尝试将哈希集转换为逗号分隔的字符串 但问题是,我在字符串的末尾得到了一个额外的逗号,如图所示。 请告诉我如何删除字符串末尾多余的逗号

import java.util.HashSet;
import java.util.Set;

public class Test {

    private static Set<String> symbolsSet = new HashSet<String>();

    static {

        symbolsSet.add("Q1!GO1");
        symbolsSet.add("Q2!GO2");
        symbolsSet.add("Q3!GO3");

    }

    public static void main(String args[]) {
        String[] a = symbolsSet.toArray(new String[0]);
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < a.length; i++) {
            sb.append(a[i] + ",");
        }
        System.out.println(sb.toString());

    }

}
或仅当不是最后一个元素时追加

  for (int i = 0; i < a.length; i++) {
    if ( i > 0 ) {
        sb.append(",");
    }
    sb.append(a[i]);
}

有很多方法可以做到这一点,下面是一个使用StringreplaceAll的正则表达式解决方案

尝试:

for (int i = 0; i < a.length; i++) {
    if ( i > 0 ) {
        sb.append(",");
    }
    sb.append(a[i]);
}
你喜欢这样吗

for (int i = 0; i < a.length - 1; i++) {
    sb.append(a[i] + ",");
}

sb.append(a[a.length - 1]);
试试这个:

 for (int i = 0; i < a.length; i++) {
        if(i == a.length - 1) {
             sb.append(a[i]);  // Last element. Dont append comma to it
        } else {
        sb.append(a[i] + ","); // Append comma to it. Not a last element
        }
    }
    System.out.println(sb.toString());
在给定的场景中,String.lastIndexOf方法非常有用

String withComma= sb.toString();
String strWithoutLastComma = withComma.substring(0,withComma.lastIndexOf(","));
System.out.println(strWithoutLastComma);

试试这个

for (int i = 0; i < a.length-1; i++) {
      if(a.length-1!=i)
            sb.append(a[i] + ",");
      else
      {
            sb.append(a[i]);
            break;
      }
}
试试这个

for (int i = 0; i < a.length; i++) {
    if(i == a.length - 1 )
    {
        sb.append(a[i]);
    } else {
        sb.append(a[i] + ",");
    }
}
您可以开发自己的分离器类:

使用这个类,您可以使用静态方法来分离数组、集合、迭代器、iterables等,从而实现更多的负载。

BTW,Q3!好的,第二季度!GO2,Q1!GO1不是您应该从程序中获得的输出。
 for (int i = 0; i < a.length; i++) {
        if(i == a.length - 1) {
             sb.append(a[i]);  // Last element. Dont append comma to it
        } else {
        sb.append(a[i] + ","); // Append comma to it. Not a last element
        }
    }
    System.out.println(sb.toString());
String withComma= sb.toString();
String strWithoutLastComma = withComma.substring(0,withComma.lastIndexOf(","));
System.out.println(strWithoutLastComma);
public static void main(String args[])
{
    String[] a = symbolsSet.toArray(new String[0]);

    StringBuffer sb = new StringBuffer();

    for (int i = 0; i < a.length; i++)
    {
        sb.append(a[i] + ",");
    }

    System.out.println(sb.toString().substring(0, sb.toString().length - 1));

}
public static void main(String args[])
{
    String[] a = symbolsSet.toArray(new String[0]);

    StringBuffer sb = new StringBuffer();

    for (int i = 0; i < a.length; i++)
    {
        sb.append(a[i]);

        if(a != a.length - 1)
        {
            sb.append(",");
        }
    }

    System.out.println(sb.toString());
}
StringBuffer sb = new StringBuffer();
String separator = "";
for (int i = 0; i < a.length; i++) {
    sb.append(separator).append(a[i]);
    separator = ",";
}
for (int i = 0; i < a.length-1; i++) {
      if(a.length-1!=i)
            sb.append(a[i] + ",");
      else
      {
            sb.append(a[i]);
            break;
      }
}
for (int i = 0; i < a.length; i++) {
    if(i == a.length - 1 )
    {
        sb.append(a[i]);
    } else {
        sb.append(a[i] + ",");
    }
}
public class SimpleSeparator<T> {
  private final String sepString;
  boolean first = true;

  public SimpleSeparator(final String sep) {
    this.sepString = sep;
  }

  public String sep() {
    // Return empty string first and then the separator on every subsequent invocation.
    if (first) {
      first = false;
      return "";
    }
    return sepString;
  }

  public static void main(String[] args) {
    SimpleSeparator sep = new SimpleSeparator(",");
    System.out.print("[");
    for ( int i = 0; i < 10; i++ ) {
      System.out.print(sep.sep()+i);
    }
    System.out.print("]");
  }

}