string.split方法中的字符串分隔符 [英] String delimiter in string.split method
本文介绍了string.split方法中的字符串分隔符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下数据:
1||1||Abdul-Jabbar||Karim||1996||1974
我想分隔代币。
这里的分隔符是||
。
我的分隔符设置符是:
public void setDelimiter(String delimiter) {
char[] c = delimiter.toCharArray();
this.delimiter = "\"" + "\\" + c[0] + "\\" + c[1] + "\"";
System.out.println("Delimiter string is: " + this.delimiter);
}
然而,
String[] tokens = line.split(delimiter);
未提供所需结果。
推荐答案
无需像你所做的那样将它分解成碎片来设置分隔符。
There is no need to set the delimiter by breaking it up in pieces like you have done.
这是一个完整的程序你可以编译并运行:
Here is a complete program you can compile and run:
import java.util.Arrays;
public class SplitExample {
public static final String PLAYER = "1||1||Abdul-Jabbar||Karim||1996||1974";
public static void main(String[] args) {
String[] data = PLAYER.split("\\|\\|");
System.out.println(Arrays.toString(data));
}
}
如果你想使用带模式的拆分,你可以使用 Pattern.compile
或 Pattern.quote
。
If you want to use split with a pattern, you can use Pattern.compile
or Pattern.quote
.
要查看编译
和引用
,以下是使用所有三种方法的示例:
To see compile
and quote
in action, here is an example using all three approaches:
import java.util.Arrays;
import java.util.regex.Pattern;
public class SplitExample {
public static final String PLAYER = "1||1||Abdul-Jabbar||Karim||1996||1974";
public static void main(String[] args) {
String[] data = PLAYER.split("\\|\\|");
System.out.println(Arrays.toString(data));
Pattern pattern = Pattern.compile("\\|\\|");
data = pattern.split(PLAYER);
System.out.println(Arrays.toString(data));
pattern = Pattern.compile(Pattern.quote("||"));
data = pattern.split(PLAYER);
System.out.println(Arrays.toString(data));
}
}
如果你打算使用模式通常使用相同的模式进行拆分。 BTW的输出是:
The use of patterns is recommended if you are going to split often using the same pattern. BTW the output is:
[1, 1, Abdul-Jabbar, Karim, 1996, 1974]
[1, 1, Abdul-Jabbar, Karim, 1996, 1974]
[1, 1, Abdul-Jabbar, Karim, 1996, 1974]
这篇关于string.split方法中的字符串分隔符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文