我无法从此字符串中拆分值:
"Food 1 | Service 3 | Atmosphere 3 | Value for money 1 "
这是我目前的代码:
String rat_values = "Food 1 | Service 3 | Atmosphere 3 | Value for money 1 ";
String[] value_split = rat_values.split("|");
Run Code Online (Sandbox Code Playgroud)
[,F,o,o,d ,, 1 ,, | ,,, S,e,r,v,i,c,e,,3,... ,, A,t,m,o,s,p, h,e,r,e,,3,| ,, V,a,l,u,e,f,o,r ,, m,o,n,e,y ,, 1,]
食物1
服务3
气氛3
物有所值1
dev*_*ull 486
|
是正则表达式中的元字符.你需要逃脱它:
String[] value_split = rat_values.split("\\|");
Run Code Online (Sandbox Code Playgroud)
Pra*_*eek 73
String[] value_split = rat_values.split(Pattern.quote("|"));
//System.out.println(Arrays.toString(rat_values.split(Pattern.quote("|")))); //(FOR GETTING OUTPUT)
Run Code Online (Sandbox Code Playgroud)
String[] value_split = rat_values.split("\\|");
//System.out.println(Arrays.toString(rat_values.split("\\|"))); //(FOR GETTING OUTPUT)
Run Code Online (Sandbox Code Playgroud)
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]);
}
Run Code Online (Sandbox Code Playgroud)
Arrays.asList(Pattern.compile("\\|").split(rat_values))
//System.out.println(Arrays.asList(Pattern.compile("\\|").split(rat_values))); //(FOR GETTING OUTPUT)
Run Code Online (Sandbox Code Playgroud)
[Food 1 , Service 3 , Atmosphere 3 , Value for money 1 ]
Run Code Online (Sandbox Code Playgroud)
Mar*_*oun 19
或.. Pattern#quote
:
String[] value_split = rat_values.split(Pattern.quote("|"));
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为String#split
接受正则表达式:
quote
将返回正则表达式的String表示形式.
String rat_values = "Food 1 | Service 3 | Atmosphere 3 | Value for money 1 ";
String[] value_split = rat_values.split("\\|");
for (String string : value_split) {
System.out.println(string);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
187564 次 |
最近记录: |