8

When I split a String:

"EMP ID||EMP NAME||DESIGNATION"

I get each letter split:

[, E, M, P, , I, D, |, |, E, M, P, , N, A, M, E, |, |, D, E, S, I, G, N, A, T, I, O, N]

My code is

String strHeader="EMP ID||EMP NAME||DESIGNATION";
String[] arrStrColumnsInRow=strHeader.split("||");

How can I get it splitted like:

[EMP ID,EMP NAME,DESIGNATION]

padippist
  • 1,178
  • 1
  • 16
  • 30

2 Answers2

26

Use

String[] arrStrColumnsInRow=strHeader.split("\\|\\|");

This is because the parameter of split is a regular expression, where | is a logical operator.

dejvuth
  • 6,986
  • 3
  • 33
  • 36
5

| is special for regular expressions - you need to escape them:

String strHeader = "EMP ID||EMP NAME||DESIGNATION";
String[] arrStrColumnsInRow = strHeader.split("\\|\\|");
System.err.println(Arrays.toString(arrStrColumnsInRow));

Output:

[EMP ID, EMP NAME, DESIGNATION]
Andreas Fester
  • 36,091
  • 7
  • 95
  • 123