如何将 [A,B,C] 之类的字符串拆分为 A B C (Java)
How can I split a String like [A,B,C] into A B C (Java)
对于像 [A,B,C]
或逗号和括号之间的输入,我如何拆分字符串以将其添加到列表中?
我有这个:
List<String> list = new ArrayList<String>();
String a = "[A,B,C]";
String str[] = a.split(",|\[|\]");
list = Arrays.asList(str);
System.out.println(list);
但输出是:[, A, B, C]
如何拆分此字符串以将其添加到列表中?
我想要列表 = [A,B,C]
一个简单的解决方案是在按逗号拆分之前替换括号。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
String a = "[A,B,C]";
String str[] = a.replaceAll("[\[\]]", "").split(",");
list = Arrays.asList(str);
System.out.println(list);
}
}
输出:
[A, B, C]
省略括号,比使用.replaceAll
:
快
a = a.substring(1, a.length() - 1); // Substringing removes first and last character
String[] str = a.split(",");
使用正则表达式的解决方案:
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
String a = "[A,B,C]";
Pattern p = Pattern.compile("\w+");
Matcher m = p.matcher(a);
while(m.find()) {
list.add(m.group());
}
System.out.println(list); //[A,B,C]
}
匹配输入字符串中的所有字母并将它们一一添加到列表中。
一个简单的方法是去掉括号并用逗号分隔。然后你可以流式传输数组并进入列表。
String s = "[AAAA, BBBB , CCCCC,DDDDDD]";
List<String> list =
Arrays.stream(s.replaceAll("[\[\]]","").split("\s*,\s*"))
.collect(Collectors.toList());
list.forEach(System.out::println);
打印
AAAA
BBBB
CCCCC
DDDDDD
对于像 [A,B,C]
或逗号和括号之间的输入,我如何拆分字符串以将其添加到列表中?
我有这个:
List<String> list = new ArrayList<String>();
String a = "[A,B,C]";
String str[] = a.split(",|\[|\]");
list = Arrays.asList(str);
System.out.println(list);
但输出是:[, A, B, C]
如何拆分此字符串以将其添加到列表中?
我想要列表 = [A,B,C]
一个简单的解决方案是在按逗号拆分之前替换括号。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
String a = "[A,B,C]";
String str[] = a.replaceAll("[\[\]]", "").split(",");
list = Arrays.asList(str);
System.out.println(list);
}
}
输出:
[A, B, C]
省略括号,比使用.replaceAll
:
a = a.substring(1, a.length() - 1); // Substringing removes first and last character
String[] str = a.split(",");
使用正则表达式的解决方案:
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
String a = "[A,B,C]";
Pattern p = Pattern.compile("\w+");
Matcher m = p.matcher(a);
while(m.find()) {
list.add(m.group());
}
System.out.println(list); //[A,B,C]
}
匹配输入字符串中的所有字母并将它们一一添加到列表中。
一个简单的方法是去掉括号并用逗号分隔。然后你可以流式传输数组并进入列表。
String s = "[AAAA, BBBB , CCCCC,DDDDDD]";
List<String> list =
Arrays.stream(s.replaceAll("[\[\]]","").split("\s*,\s*"))
.collect(Collectors.toList());
list.forEach(System.out::println);
打印
AAAA
BBBB
CCCCC
DDDDDD