Java官方文档指出:
"boo:and:foo"例如,字符串使用这些表达式生成以下结果Regex结果:
{ "boo", "and", "foo" }"
Run Code Online (Sandbox Code Playgroud)
这就是我需要它工作的方式.但是,如果我运行这个:
public static void main(String[] args){
String test = "A|B|C||D";
String[] result = test.split("|");
for(String s : result){
System.out.println(">"+s+"<");
}
}
Run Code Online (Sandbox Code Playgroud)
它打印:
><
>A<
>|<
>B<
>|<
>C<
>|<
>|<
>D<
Run Code Online (Sandbox Code Playgroud)
这远非我所期望的:
>A<
>B<
>C<
><
>D<
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
考虑以下简单的代码行:
public class Main {
public static void main(String[] args) {
String string = "Lorem,ipsum,dolor,sit,amet";
String[] strings = string.split(",");
for (String s : strings) {
System.out.println(s);
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,输出如下:
Lorem
ipsum
dolor
sit
amet
Run Code Online (Sandbox Code Playgroud)
现在考虑前面的代码中,我只是把的变化,为|:
public class Main {
public static void main(String[] args) {
String string = "Lorem|ipsum|dolor|sit|amet";
String[] strings = string.split("|");
for (String s : strings) {
System.out.println(s);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我期待相同的输出,但奇怪的是以下内容:
L
o
r
e
m
|
i
p
s
u
m …Run Code Online (Sandbox Code Playgroud) 我有以下示例数据:
***^|^100^|^101^|^102^|^103^|^104^|^
Run Code Online (Sandbox Code Playgroud)
我希望用"^ | ^"拆分,结果将是:
***
100
101
102
103
104
Run Code Online (Sandbox Code Playgroud)
下面是我的示例代码,但未能获得预期结果,我是否误解了拆分模式?
String a = "***^|^100^|^101^|^102^|^103^|^104^|^105^|^106^|^107^|^108^|^";
String [] split ;
split = a.split("^|^");
for(int i=0; i<split.length; i++)
{
System.out.println(split[i]);
}
Run Code Online (Sandbox Code Playgroud) 当我拆分字符串时:
"EMP ID || EMP NAME || DESIGNATION"
我把每个字母分开:
[,E,M,P ,, I,D,|,|,E,M,P,N,A,M,E,|,|,D,E,S,I,G,N,A, T,I,O,N]
我的代码是
String strHeader="EMP ID||EMP NAME||DESIGNATION";
String[] arrStrColumnsInRow=strHeader.split("||");
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它拆分为:
[EMP ID,EMP NAME,DESIGNATION]
到目前为止,这是我的代码。这就是我将通过“|”拆分字符串的方式。现在我想知道我将如何存储每个部分。
public class Address {
private String lines;
public Address(String lines)
{
this.lines = lines;
String[] arrOfStr = this.lines.split("|");
}
Run Code Online (Sandbox Code Playgroud)
此构造函数应接受以“|”分隔的部分地址 构造函数然后需要将字符串分成几部分,然后存储每个部分 part1|part2|part3