我有一个字符串
String str = "<Java><SQL>";
我想在删除 <> 符号后将其存储在 String[ ] 中:
String[] str1 = "Java,SQL";
此外,我想让它迭代,即每次我有一个新字符串时,它应该只删除 <> 并将不同部分附加到前一个 String[] 中。
我查看了不同的方法,如 split() 方法或 match() 方法,但我无法做到。
基本上wyxz回答。
str1.substring(1, str1.length() - 1).replace("><", ", ").
你需要做两件事:
<
和>
><
这可以在一行中完成:
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]