Java拆分函数将字符后的空格读取为空字符串

时间:2018-09-08 18:10:06

标签: java string

投入:他是一个好人。

所需的输出:{“他”,“是”,“一个”,“好”,“人”}

程序输出:{“ he”,“ is”,“ a”,“ good”,“”,“ person”}

import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String s = scan.nextLine();
        String[] ace = s.trim().split("[\\s+!,?._'@]");
        scan.close();
        System.out.println(ace.length);
        for(String c : ace)
            System.out.println(c);
    }
}
我第一次在这里问。下次需要指针

2 个答案:

答案 0 :(得分:6)

您在“好”和“人”之间有两个定界符的序列-一个空格和一个逗号。您可以对正则表达式进行调整,以允许多个连续的分隔符作为同一分隔符:

String[] ace = s.trim().split("[\\s+!,?._'@]+");
// Here ------------------------------------^

答案 1 :(得分:4)

您可以使用RegExp:

String[] words = str.split("\\W+");

这是一个Demo