Java Splitting Strings

Jam*_*zio 0 java string

我有一个字符串s,我想分开,所以每个部分由"|"分隔 符号成为字符串数组的元素.

这是我怎么做的?

     String s = "FirstName1 LastName1|FirstName2 LastName2|FirstName3 LastName4|";
     String [] names = s.split("|");
Run Code Online (Sandbox Code Playgroud)

然后我想将这些元素添加到ArrayList中.我做了以下

      for(int i = 0; i < names.length; i++)
        {
            friendsNames.add(names[i]);
        }
Run Code Online (Sandbox Code Playgroud)

但是我的ArrayList读取如下.

  Element 1: F
  Element 2: I
  Element 3: R
  Element 4: S
  Element 5: T
  Element 6: 
  Element 7: N
Run Code Online (Sandbox Code Playgroud)

我对哪里出错有任何建议?等等

Rea*_*wTo 7

你需要逃避"|" 因为它在正则表达式世界中是一个特殊的角色.

String [] names = s.split("\\|");
Run Code Online (Sandbox Code Playgroud)

为什么2"\"?

对于正则表达式,您可以转义"|" 用"\ |".但由于"\"是Java的转义字符,因此需要转义它以保留正则表达式的"\".