Java 中的正则表达式“[\\p{Punct}\\s]+”有什么作用?

时间:2021-04-29 23:18:21

标签: java

我目前是 Java 新手,想在理解这行代码方面得到一些帮助,这个正则表达式的作用是什么/意味着什么。

String[] s = l.split("[\\p{Punct}\\s]+");

1 个答案:

答案 0 :(得分:1)

split 函数将根据您在给定模式中指定的分隔字符返回一个字符串数组。

根据Java Pattern文档:Class Pattern,你使用的相关分隔符号是:

  • \p{Punct} 标点符号之一:!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
  • \s 一个空白字符:[ \t\n\x0B\f\r]

因此,每次在整个字符串中找到上述字符之一时,字符串数组将由所有字符串组成。

以下是您可以用来测试它的示例:

import java.util.*;

public class TestSplit {
    public static void main(String args[]) {
        String myStringTest = "test,of#the@split&separated by(space)and+punctuations";
        List<String> list = Arrays.asList(myStringTest.split("[\\p{Punct}\\s]+"));
        System.out.println(list);
    }
}

这是你得到的输出:

[test, of, the, split, separated, by, space, and, punctuations]
相关问题