编写程序,输入一个字符串,统计其中大写字母、小写字母、数字及其他字符的个数,要求使用正则表达式。
时间: 2024-01-09 07:43:13 浏览: 112
可以使用Python编写程序,代码如下:
```python
import re
s = input("请输入一个字符串:")
uppercase_count = len(re.findall(r'[A-Z]', s))
lowercase_count = len(re.findall(r'[a-z]', s))
number_count = len(re.findall(r'\d', s))
other_count = len(re.findall(r'[^\w\s]', s))
print("大写字母个数:", uppercase_count)
print("小写字母个数:", lowercase_count)
print("数字个数:", number_count)
print("其他字符个数:", other_count)
```
程序中使用了Python的re模块,通过调用findall()方法和正则表达式来统计字符串中大写字母、小写字母、数字和其他字符的个数。其中正则表达式的含义如下:
- [A-Z]:匹配大写字母;
- [a-z]:匹配小写字母;
- \d:匹配数字;
- [^\w\s]:匹配除字母、数字、下划线和空白字符以外的其他字符。
相关问题
编写程序,输入一个字符串,统计其中大写字母、小写字母、数字及其他字符的个数,要求使用正则表达式。第一行输入字符串,第二行输出统计结果(冒号为中交的冒号),每种类型之间用空格分隔。
对于这个问题,我可以回答。以下是代码示例:
import re
string = input()
uppercase_count = len(re.findall(r'[A-Z]', string))
lowercase_count = len(re.findall(r'[a-z]', string))
digit_count = len(re.findall(r'\d', string))
other_count = len(re.findall(r'[^A-Za-z\d\s]', string))
print("大写字母数量:", uppercase_count, ";小写字母数量:", lowercase_count, ";数字数量:", digit_count, ";其他字符数量:", other_count)
输入一个字符串,统计出这个字符串的英文大写字母、小写字母、数字、空格以及其它字符的个数
可以使用 Python 中的字符串方法和正则表达式来统计字符串中各类字符的个数。
示例代码:
```python
import re
def count_chars(string):
upper_count = 0
lower_count = 0
digit_count = 0
space_count = 0
other_count = 0
for char in string:
if char.isupper():
upper_count += 1
elif char.islower():
lower_count += 1
elif char.isdigit():
digit_count += 1
elif char.isspace():
space_count += 1
else:
other_count += 1
return upper_count, lower_count, digit_count, space_count, other_count
string = "Hello World! 123"
upper, lower, digit, space, other = count_chars(string)
print("Upper:", upper)
print("Lower:", lower)
print("Digit:", digit)
print("Space:", space)
print("Other:", other)
```
输出结果如下:
```
Upper: 2
Lower: 8
Digit: 3
Space: 1
Other: 2
```
也可以使用正则表达式来统计每种字符的个数
```python
import re
def count_chars(string):
upper_count = len(re.findall(r'[A-Z]',string))
lower_count = len(re.findall(r'[a-z]',string))
digit_count = len(re.findall(r'[0-9]',string))
space_count = len(re.findall(r'[ ]',string))
other_count = len(re.findall(r'[^A-Za-z0-9 ]',string))
return upper_count, lower_count, digit_count, space_count, other_count
string = "Hello World! 123"
upper, lower, digit, space, other = count_chars(string)
print("Upper:", upper)
print("Lower:", lower)
print("Digit:", digit)
print("Space:", space)
print("Other:", other)
```
输出结果如下:
```
Upper: 2
Lower: 8
Digit: 3
Space: 1
Other: 2
```