-3

我有一个字符串

String str = "<Java><SQL>";

我想在删除 <> 符号后将其存储在 String[ ] 中:

String[] str1 = "Java,SQL";

此外,我想让它迭代,即每次我有一个新字符串时,它应该只删除 <> 并将不同部分附加到前一个 String[] 中。

我查看了不同的方法,如 split() 方法或 match() 方法,但我无法做到。

4

2 回答 2

2

基本上wyxz回答。

str1.substring(1, str1.length() - 1).replace("><", ", ").
于 2013-11-07T18:38:36.710 回答
0

你需要做两件事:

  1. 删除尾随<>
  2. 拆分开><

这可以在一行中完成:

final String[] split = "<Java><SQL>".replaceAll("(?:^<)|(?:>$)", "").split("><");

如果要连接连续的输入字符串,则需要使用 a List,因为数组是固定长度的。

如果您将拆分为实用程序方法:

public static void main(final String args[]) {
    final List<String> myStrings = new LinkedList<>();
    final String s = "<Java><SQL>";
    myStrings.addAll(split(s));
    System.out.println(myStrings);
    myStrings.addAll(split(s));
    System.out.println(myStrings);
    myStrings.addAll(split(s));
    System.out.println(myStrings);
    myStrings.addAll(split(s));
    System.out.println(myStrings);
}

public static List<String> split(final String in) {
    return Arrays.asList(in.replaceAll("(?:^<)|(?:>$)", "").split("><"));
}

输出:

[Java, SQL]
[Java, SQL, Java, SQL]
[Java, SQL, Java, SQL, Java, SQL]
[Java, SQL, Java, SQL, Java, SQL, Java, SQL]
于 2013-11-07T18:47:43.233 回答