如何使用 || 分割字符串

24 浏览
0 Comments

如何使用 || 分割字符串

当我分割一个字符串时:

"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("||");

我如何把它分割成以下形式:

[EMP ID,EMP NAME,DESIGNATION]

0
0 Comments

在上述代码中,我们想要将字符串"EMP ID||EMP NAME||DESIGNATION"按照"||"进行分割。然而,我们发现分割结果并不符合预期,而是得到了一个包含了原始字符串中所有字符的数组。

问题的原因是在正则表达式中,"|"是一个特殊字符,具有特殊的含义。为了正确地将字符串按照"||"进行分割,我们需要对"|"进行转义。

解决方法是在分割字符串之前,对"||"中的每个"|"进行转义。在Java中,我们可以使用双反斜杠"\\|"来表示一个普通的"|"字符。

以下是修正后的代码:

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

运行上述代码,我们将得到以下输出:

[EMP ID, EMP NAME, DESIGNATION]

现在,字符串成功地按照"||"进行了分割,我们得到了预期的结果。

0
0 Comments

在Java中,我们可以使用split()方法将字符串分割成字符串数组。然而,当我们想使用"||"作为分割符时,我们会遇到问题。

在上述代码中,我们可以看到使用了双斜杠"\\"来转义"||"。这是因为split()方法的参数是一个正则表达式,而"|"在正则表达式中是一个逻辑运算符,表示"或"的意思。

为了解决这个问题,我们可以使用双斜杠"\\"来转义"|",将"||"作为分割符。这样,split()方法就能正确地将字符串分割成字符串数组了。

下面是解决这个问题的代码示例:

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

通过使用双斜杠"\\"来转义"|",我们成功地将"||"作为分割符,将字符串strHeader分割成了字符串数组arrStrColumnsInRow。

这样,我们就解决了使用"||"作为分割符时遇到的问题。

0