Warm tip: This article is reproduced from serverfault.com, please click

java-检测字符串“ \ n”和空格时如何拆分文本?

(java - How to split a Text when detecting String "\n" and a space?)

发布于 2020-11-28 06:17:58

例如

我有一个像

String example = "Hello\nHow\nAre\nyou today? I Love Pizza"; //

我想要的是一个像这样的数组

[Hello, \n, How, \n, Are, \n, you, today? , I , Love, Pizza]

我已经试过了

String[] splited = example.split("[\\n\\s]+");// as will a lot of regular exprisions like ("\\n\\r+")  etc.

但是他们没有工作。

请问有人有解决方案吗?

Questioner
Moustafa Wafaei Baaj
Viewed
11
Arvind Kumar Avinash 2020-11-29 04:16:43

你可以简单地通过使用lookbehind(由指定?<=)或lookahead(由指定?=\n并与\s+(与空白)交替使用来做到这一点

演示:

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String example = "Hello\nHow\nAre\nyou today? I Love Pizza"; //
        String[] splited = example.split("(?<=\\n)|(?=\\n)|\\s+");
        System.out.println(Arrays.toString(splited));
    }
}

输出:

[Hello, 
, How, 
, Are, 
, you, today?, I, Love, Pizza]