【发布时间】:2019-09-18 15:18:19
【问题描述】:
我的任务是检测服务器应用程序的 csv 中是否有任何字符串空格。 CSV 的内容是日文、英文、一些符号和数字的组合。 英文的空格是半角,日文的空格是全角。两种语言中空格的宽度和字节大小不同。
我使用 Java 8 进行编码,最好不要使用 3rd 方库。
我正在考虑两种方法,它们是伪代码。
正则表达式:
targetStr.matches("\\s+");
Character.isWhitespace():
targetStr.codepoints()
.filter(c -> Character.isWhitespace(c))
.count() > 0
上述任何一个伪代码都可以完成这项任务吗?
哪种方法更适合我的情况?
【问题讨论】:
-
您现在的问题陈述是什么?全宽和半宽是什么意思?请按照以下方式发布一个最小且可重现的示例:stackoverflow.com/help/minimal-reproducible-example
-
您可以将第二种方法简化为
targetStr.codePoints().anyMatch(Character::isWhitespace)。它可能比正则表达式快,但除非您每秒执行数百次,否则您不太可能注意到差异。 -
您要删除这些空格吗?
-
其实我是在尝试检测字符串中是否有空格。