3 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用Pattern.quote()
String[] value_split = rat_values.split(Pattern.quote("|"));
//System.out.println(Arrays.toString(rat_values.split(Pattern.quote("|")))); //(FOR GETTING OUTPUT)
使用轉(zhuǎn)義符(用于元字符)
String[] value_split = rat_values.split("\\|");
//System.out.println(Arrays.toString(rat_values.split("\\|"))); //(FOR GETTING OUTPUT)
使用StringTokenizer(避免正則表達(dá)式問題)
public static String[] splitUsingTokenizer(String Subject, String Delimiters)
{
StringTokenizer StrTkn = new StringTokenizer(Subject, Delimiters);
ArrayList<String> ArrLis = new ArrayList<String>(Subject.length());
while(StrTkn.hasMoreTokens())
{
ArrLis.add(StrTkn.nextToken());
}
return ArrLis.toArray(new String[0]);
}
使用Pattern類(java.util.regex.Pattern)
Arrays.asList(Pattern.compile("\\|").split(rat_values))
//System.out.println(Arrays.asList(Pattern.compile("\\|").split(rat_values))); //(FOR GETTING OUTPUT)
輸出量
[Food 1 , Service 3 , Atmosphere 3 , Value for money 1 ]

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
或.. Pattern#quote:
String[] value_split = rat_values.split(Pattern.quote("|"));
發(fā)生這種情況是因?yàn)镾tring#split接受正則表達(dá)式:
|在正則表達(dá)式中有特殊含義。
quote將為regex返回String表示形式。
添加回答
舉報(bào)