什么是正则表达式替换" ["和"]"从字符串数组?

时间:2016-06-24 20:44:45

标签: java

我正在尝试从字符串数组[中替换][ab, cd ,ef]个字符,以获得如下输出:

ab, cd, ef

使用正则表达式

(^\s*|[\n\t\r\[\]])

但我无法获得所需的输出。

3 个答案:

答案 0 :(得分:1)

为什么不在String类中使用replace方法?

String str = "[ab, cd ,ef]";

str.replace("[", "").replace("]", "");

答案 1 :(得分:1)

这将有效:

String str = "[ab, cd, ef]";

System.out.println(str.replaceAll("[\\[\\]]", ""));

解释:它使用正则表达式中的character class来替换您不想要的所有字符。

<强>输出

ab, cd ,ef

答案 2 :(得分:0)

虽然它不是正则表达式,但是如果我已经理解了你想要的东西(你在数组上做一个to-string并修剪结果以获得CSV) - 这也会有用:

String data = "[Hello World]";
System.out.println(String.copyValueOf(data.toCharArray(),1,data.length()-2));

那就是说,你理想情况下不应该这样做,因为它不灵活(如果你想要一个分号或冒号而不是一个逗号,那么你必须重新进行替换!)。理想情况下,您应该使用for-each进行迭代,然后附加适当的分隔符。