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

标签 java string

输入:他是一个好人。

期望的输出:{"he","is","a","good","person"}

程序输出:{"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);
    }
}

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

最佳答案

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

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

关于Java拆分函数读取一个字符后的空格为空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238077/

相关文章:

java - 初始化枚举中的最终字段,其中的值是通过抛出异常的方法加载的?

java - 如何动态设置形成 ListView 行的多个 TextView 中的文本大小?

java.util.ConcurrentModificationException - 如何使用迭代器进行删除

c - scanf 跳过所有直到一个字符串

java - Mapreduce Hbase 文件未找到异常

java - Postgresql 金钱(或数字?)类型及其在 Scala (Java) 中的对应类型

python - 从具有定义的起点和终点的字符串中提取子字符串

string - 如何将双引号放入 Swift String

c - C语言中如何连接两个字符串?

java - 如何使用 Character.toUpperCase?