【发布时间】:2026-02-13 16:35:01
【问题描述】:
我正在做 java 项目,我需要计算点的数量,!和 ?在一个字符串中。我目前的方法是使用正则表达式。我使用了以下代码,但它没有给出正确的结果。
for(int i=0; i<words.length; i++){
String w = words[i];
if(w.matches("(.)+[.!?]")){
count++; //increasing the count.
}
}
对于其他一些函数,我已将字符串转换为单词数组。所以我在这个中使用它。
我想为每个点的出现增加一个计数,!或者 ?表示句子的结束点。例如
测试。 - 计数增加 1
测试.. - 计数增加 1
测试?。 - 计数增加 1
重复使用符号不应增加计数。
你能告诉我这里有什么问题吗?
【问题讨论】:
-
你认为
[(.)+[.!?]]匹配什么,你为什么这么认为? -
@SotiriosDelimanolis 我查看了一些关于正则表达式的教程,这就是我想出的。 (.)+[.!?] 表示(任意数量的字符)(一个.!?)不是这样吗?我在发布的代码上犯了一个错误,我对其进行了编辑
-
有人能告诉我为什么这被否决了吗??