不用正则表达式,该怎么写
时间: 2023-07-28 18:48:51 浏览: 55
好的,以下代码实现了不使用正则表达式的版本:
```python
# 读取文本,转换为小写
text = input().lower()
# 将标点符号替换为空格
for char in '.,?!':
text = text.replace(char, ' ')
# 分割单词并统计出现次数
word_counts = {}
for word in text.split():
# 排除单独的标点符号以及空格
if len(word) > 1:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
# 按照字典顺序输出结果
for word in sorted(word_counts):
print(f"{word}: {word_counts[word]}")
```
以上代码首先将标点符号替换为空格,然后使用字符串的 `split()` 方法分割单词并统计出现次数。在统计过程中,排除了单独的标点符号以及空格,以满足您的要求。最后按字典顺序输出结果。
相关问题
不用正则表达式判断一个字符串是否只包含汉字,用java写
可以使用Java自带的Character类来判断一个字符是否为汉字,从而判断一个字符串是否只包含汉字,示例如下:
```java
public static boolean isChinese(String str) {
if (str == null) {
return false;
}
for (char c : str.toCharArray()) {
if (!Character.isIdeographic(c)) {
return false;
}
}
return true;
}
```
该方法接收一个字符串作为参数,遍历字符串中的每个字符,使用Character.isIdeographic方法判断该字符是否为汉字,如果存在任何一个字符不是汉字,则说明该字符串不只包含汉字,返回false;否则说明该字符串只包含汉字,返回true。如果传入的字符串为null,直接返回false。
判断字符串不包含某个字符的方法,不用正则表达式
可以使用字符串的 `indexOf` 方法来判断字符串中是否包含某个字符。如果 `indexOf` 返回的值为 -1,则说明该字符串不包含该字符。
例如,以下代码可以判断字符串 `str` 是否不包含字符 `c`:
```java
if (str.indexOf(c) == -1) {
// 字符串不包含字符 c
} else {
// 字符串包含字符 c
}
```
需要注意的是,`indexOf` 方法是区分大小写的,如果需要进行不区分大小写的判断,可以先将字符串和字符都转换成大写或小写再进行比较。