繁体   English   中英

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

[英]Java split function reading space after a character as an empty string

输入:他是一个善良的人。

期望的输出:{“他”,“是”,“一个”,“好”,“人”}

节目输出:{“他”,“是”,“一个”,“好”,“”,“人”}

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);
    }
}

我第一次在这里问。 下次需要指点

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

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

您可以使用RegExp:

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

这是一个演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM