我目前正在开发一个程序,该程序通过单词、空格和标点符号将完整的句子字符串拆分为字符串数组。但是,如果输入的句子为空,我也希望能够使程序执行某些操作。目前我的正则表达式会抛出任何空输入。其表达式为:
String[] fragments = sentence.split("(?<=\\b|[^\\p{L}])");
有没有办法修改这个正则表达式,以便在遇到空输入时,数组将包含该空值,以便稍后在程序中对其进行处理?
最佳答案
String[] fragments = (sentence == null) ? null : sentence.split("(?<=\\b|[^\\p{L}])");
根据您的要求,这应该
- 如果输入为 null,则返回
null
。 - 如果输入为“”,则返回包含单个条目“”的数组。
- 如果不是“”也不是
null
,则按预期返回数组。
关于java - 正则表达式保留空输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46241009/