Java官方文档指出:
"boo:and:foo"例如,字符串使用这些表达式Regex Result产生以下结果:
{ "boo", "and", "foo" }"
这就是我需要它工作的方式。但是,如果我运行此命令:
public static void main(String[] args){
String test = "A|B|C||D";
String[] result = test.split("|");
for(String s : result){
System.out.println(">"+s+"<");
}
}
它打印:
><
>A<
>|<
>B<
>|<
>C<
>|<
>|<
>D<
这与我的预期相去甚远:
>A<
>B<
>C<
><
>D<
为什么会这样呢?
你需要
test.split("\\|");
split
使用正则表达式,并且在regex
中 |是表示OR运算符的元字符。你需要使用来转义该字符\(使用String编写,"\\"
因为\
它也是String文字中的元字符,并且需要另一个字符\
来对其进行转义)。
你也可以使用
test.split(Pattern.quote("|"));
并Pattern.quote
创建代表的正则表达式的转义版本|。
Java官方文档说明: 例如,字符串使用以下表达式Regex Result生成以下结果: 这就是我需要它工作的方式。然而,如果我运行这个: 它打印: 这与我的预期相去甚远: 为什么会这样?
问题内容: 使用Python字符串函数split()时,是否有人有一个巧妙的技巧将用双引号引起来的项目视为不拆分单词? 说我只想在空白处分割,我有这个: 我想将双引号中的任何内容都视为一个单词,即使嵌入了空格,也希望得到以下结果: 或者至少是这样,然后我将双引号删除: 有非正则表达式建议吗? 问题答案: 您将无法通过使用此行为。如果您可以进行相当复杂的解析(例如忽略双引号和反斜杠),那么您可能正在
问题内容: 我有以下文字: 我尝试做一个,但是我的数组是由单个字符而不是每个分区组成的。 问题答案: 是正则表达式中的特殊符号。使用代替。 我将解释为什么要附加两个斜杠。为了逃脱,我需要。然而,代表字符串,是必需的,因为本身需要一个字符串横向转义。 而且,正如xagyg在评论中指出的那样,split将把参数视为正则表达式。它不会被视为纯字符串。 在这种使用情况下,您可能有兴趣了解Pattern.q
Python 中,除了可以使用一些内建函数获取字符串的相关信息外(例如 len() 函数获取字符串长度),字符串类型本身也拥有一些方法供我们使用。 注意,这里所说的方法,指的是字符串类型 str 本身所提供的,由于涉及到类和对象的知识,初学者不必深究,只需要知道方法的具体用法即可。 从本节开始,将给大家介绍一些常用的字符串类型方法,本节先介绍分割字符串的 split() 方法。 split() 方
问题内容: 我无法从此字符串拆分值: 这是我当前的代码: | 输出量 预期产量 问题答案: 是正则表达式中的元字符。你需要对其进行转义:
问题内容: 我有一个字符串如下: 我想提取数字:872226816,因此在这种情况下,我假设在第二个逗号开始读取数据之后,随后的逗号结束数据读取。 输出示例: 问题答案: 用于String.split()的 Javadoc