Java 按“拆分字符串”|&引用;

Java 按“拆分字符串”|&引用;,java,data-structures,Java,Data Structures,我有一些数据在一个txt文件中,像这样的形式 |项目| id |通道|等级|头部|身体|来源|时间戳|链接| 1 |手动/自动|链接|名称/标题|链接| 2 |手动/自动|链接|名称/标题|| 我需要在管道字符处拆分它。但是,如果我这样做: String[] cols = line.split("|"); 它将按每个字符分割数据,这不是我想要的。要按“|”分割,我需要做什么?使用 line.split("\\|"); 拆分模式被解释为一个正则表达式,|在正则表达式中有一个特殊的含义——它不仅

我有一些数据在一个txt文件中,像这样的形式

|项目| id |通道|等级|头部|身体|来源|时间戳|链接| 1 |手动/自动|链接|名称/标题|链接| 2 |手动/自动|链接|名称/标题||

我需要在管道字符处拆分它。但是,如果我这样做:

String[] cols = line.split("|");
它将按每个字符分割数据,这不是我想要的。要按“|”分割,我需要做什么?

使用

line.split("\\|");
拆分模式被解释为一个正则表达式,
|
在正则表达式中有一个特殊的含义——它不仅仅被解释为字符。

使用

line.split("\\|");
拆分模式被解释为正则表达式,
|
在正则表达式中有特殊含义——它不仅仅被解释为字符。

1.“|”在正则表达式中有特殊含义

2.因此,在“|”之前使用“\”删除其特殊含义

示例:

String[]cols=line.split(“\\\\”)

1.“|”在正则表达式中有特殊含义

2.因此,在“|”之前使用“\”删除其特殊含义

示例:


String[]cols=line.split(“\\\\”)

您实际上是使用该正则表达式按空字符串进行拆分。您需要知道
split(stringregex)
用于查找要拆分的位置,并且
|
在正则表达式(is或operator)中具有特殊意义。要关闭它的特殊含义,您需要在它之前使用\\。实际上,您正在使用该正则表达式按空字符串进行拆分。您需要知道
split(string regex)
用于查找要拆分的位置,并且
|
在正则表达式(is或operator)中具有特殊含义。要关闭它的特殊含义,需要在它之前使用\\。