Gar*_*ary 0 java regex text-segmentation
我正在使用java中的Scanner类来浏览一个文本文件并提取每个句子.我在我的扫描仪上使用setDelimiter方法到正则表达式:
Pattern.compile("[\\w]*[\\.|?|!][\\s]")
Run Code Online (Sandbox Code Playgroud)
这目前似乎有效,但它在句子的末尾留下了空格.有没有一种简单的方法来匹配最后的空白,但不包括在结果中?
我意识到这可能是一个简单的问题,但我从来没有使用正则表达式,所以很容易:)
试试这个:
"(?<=[.!?])\\s+"
Run Code Online (Sandbox Code Playgroud)
这使用了先前匹配的lookarounds.\\s+[.!?]
如果你想删除标点符号,那么只需将其作为匹配的一部分包含在内:
"[.!?]+\\s+"
Run Code Online (Sandbox Code Playgroud)
这将拆分"ORLY!?!? LOL"成"ORLY"和"LOL"
| 归档时间: |
|
| 查看次数: |
3744 次 |
| 最近记录: |