Str = "abc|def|ghi^jkl|mno";
String[] Flds = Str.split("[|]");
//Flds[0] = "abc";
//Flds[1] = "def";
//Flds[2] = "ghi^jkl";
//Flds[3] = "mno";
现在我想知道Flds [2]的子字段,但以下都没有工作 -
String[] Flds = Str.split("[^]");
String[] Flds = Str.split("[^]]");
String[] Flds = Str.split("^");
答案 0 :(得分:5)
您应该拆分Flds[2]
String[] subFlds2 = Flds[2].split("\\^");
此外,^
是regular expressions中的保留字符。您使用[]
来转义|
,但^
也表示[]
括号内的内容。
答案 1 :(得分:1)
答案 2 :(得分:0)
请注意: String#split,接受正则表达式的参数:
public String[] split(String regex)
^
是正则表达式中的特殊字符,表示该行的开头。要将它用作文字,请在它之前使用转义字符,例如下面:
String[] Flds = Str.split("[\\^]");
我认为,如果没有大括号,它应该可以正常工作,例如
String[] Flds = Str.split("\\^");
您可以在此处找到有关正则表达式字符类的更多信息:Regex Char Classes