如何用带有填充空格的多个分隔符在java中拆分字符串?

时间:2014-05-09 11:47:02

标签: java regex string

我们在this answer中尝试了多种形式的正则表达式。我们的输入字符串是

"string1 & string2 / string3"

我们想把它分成字符串

{"string1","string2","string3"}

分隔符&/上的

(每个分区都有一个填充空格)。

我们如何使用string.split(" [/&] ")构建正则表达式来执行此操作?

6 个答案:

答案 0 :(得分:1)

没有正确地提出您的问题,您提到的内容完全没问题。

如果你想要这个:: {" string1"," string2"," string3"}

简单地说: System.out.println(" {\"" + s.replaceAll(" [/&;"," \",\ "")+" \"}");

答案 1 :(得分:0)

尝试以下方法。

String[] result = string.split(" & | / ");

希望这会有所帮助。

答案 2 :(得分:0)

试试这个:

String[] split = s.split("[&//] ");

答案 3 :(得分:0)

    for (String part : "string1 & string2 / string3".split(" [/|&] ")) {
        System.out.println(part);
    }

所以你感兴趣的是 .split(“[/ |&]”)部分

答案 4 :(得分:0)

试试

String input = "string1 & string2 / string3";
boolean first = true;

StringBuilder sb = new StringBuilder("{\"");

for (String part : input.split(" [&/] ")) {
    if (!first) {
        sb.append("\",\"");
    }
    sb.append(part);
    first = false;
}

String output = sb.append("\"}").toString();

输出:

{"string1","string2","string3"}

答案 5 :(得分:0)

你的代码运行得很好。

import java.lang.*;

public class StringDemo {

  public static void main(String[] args) {

    String str = "string1 & string2 / string3";
    String delimiters = " [/&] ";

    // analyzing the string
    String[] tokensVal = str.split(delimiters);

    // prints the number of tokens
    System.out.println("Count of tokens = " + tokensVal.length);

    for(String token : tokensVal) {
       System.out.println("#" + token + "#");
    }
  }
}