Java - 按字符串分割的字符串

时间:2014-10-04 11:45:41

标签: java split

当我尝试使用分隔符" |"分割字符串时,它似乎会分割每个字符。

这是导致问题的我的行:

String out = myString.split("|");

4 个答案:

答案 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();
  }

}