1.题目描述
2.知识点
注1:
\\s+: 匹配一个或多个空格字符。
|: 表示逻辑或,用于分隔不同的正则表达式部分。
(?=[\\p{Punct}]): 正向前瞻,匹配任何标点符号之前的位置。
(?<=[\\p{Punct}]): 正向后顾,匹配任何标点符号之后的位置。
注2:
word.isEmpty(): 检查字符串 word 是否为空,如果 word 为空,则返回 true;否则返回 false。
3.代码实现
class Solution {
public int countSegments(String s) {
int n = s.length();
int cnt = 0;
String[] words = s.split("\\s+");
// 将字符串通过空格和标点符号分割成字符串数组
for (String c : words) {
if (!c.isEmpty()) {
cnt++;
}
}
// System.out.println(cnt);
return cnt;
}
}