RegEx删除括号和空格

kum*_*ded 1 java regex replaceall

我有以下代码

String[] helloWorld = {"Hello", "World"};
System.out.println(Arrays.toString(helloWorld));
Run Code Online (Sandbox Code Playgroud)

打印

[Hello, World]
Run Code Online (Sandbox Code Playgroud)

我需要删除空格和[].并获得以下价值.

Hello,World
Run Code Online (Sandbox Code Playgroud)

我这是helloWorld.replaceAll("\\s+","")为了删除空格,但我如何删除括号.

Psh*_*emo 10

这里不需要正则表达式,特别是因为你很容易犯很多错误,例如删除[ ]你的标记的一部分,或者元素是否包含多个单词[foo bar, baz].

解决此问题的最简单方法是使用String.join(CharSequence delimiter, CharSequence... elements)Java 8中添加的.

String[] helloWorld = {"Hello", "World"};
System.out.println(String.join(",", helloWorld));
Run Code Online (Sandbox Code Playgroud)

如果您没有Java 8,您可以编写自己的方法

public static String join(CharSequence delimiter, CharSequence... elements){
    if (elements.length == 0) return "";
    StringBuilder sb = new StringBuilder(elements[0]);
    for (int i = 1; i < elements.length; i++) {
        sb.append(delimiter).append(elements[i]);
    }
    return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)

如果你不能使用Java 8和你不想重新发明轮子,你可以使用外部方法一样StringUtils.joinhttp://commons.apache.org/proper/commons-lang/

System.out.println(StringUtils.join(helloWorld, ","));
Run Code Online (Sandbox Code Playgroud)