当我尝试使用分隔符" |"分割字符串时,它似乎会分割每个字符。
这是导致问题的我的行:
String out = myString.split("|");
答案 0 :(得分:18)
在正则表达式中,|
是用于alternation的保留字符。你需要逃脱它:
String out = string.split("\\|");
请注意,我们使用了两个反斜杠。这是因为第一个转义Java字符串中的第二个,因此传递给正则表达式引擎的字符串是\|
。
答案 1 :(得分:1)
我认为这已在Java split string to array
中得到解答总结上述链接中的答案:
String[] array = values.split("\\|",-1);
这是因为:
此方法的工作方式就像通过调用给定表达式和
split
参数为零的双参数limit
方法一样。因此,尾随空字符串不包含在结果数组中。
答案 2 :(得分:1)
split
采用正则表达式,其中|
是一个特殊字符。你需要用反斜杠来逃避它。但反斜杠是Java字符串中的一个特殊字符,所以你也需要逃避它。
myString.split("\\|")
答案 3 :(得分:0)
这就是我的工作方式!
@Component({
selector: 'app-campaign-settings',
templateUrl: './campaign-settings.component.html',
styleUrls: ['./campaign-settings.component.css']
})
export class First implements OnInit {
worker:Worker=null;
Work() {
worker=new Worker(this.Read);
worker.Run();
}
Read() {
//do stuff
}
}
export class Worker implements OnInit {
callback:any;
constructor(i_callback:any) {
}
Run()
{
callback();
}
}