输入:他是一个好人。
期望的输出:{"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/