去除掉list中只含有标点符号的字符串元素
时间: 2023-04-07 14:03:04 浏览: 108
可以使用Python的正则表达式来去除只含有标点符号的字符串元素,代码如下:
import re
my_list = ["hello", ",", "world", ".", "!", " ", "goodbye", "(", ")", "?"]
new_list = [x for x in my_list if not re.fullmatch(r'[^\w\s]+', x)]
print(new_list)
输出结果为:['hello', 'world', ' ', 'goodbye']
相关问题
使用Python的正则表达式来去除只含有标点符号的字符串元素
可以使用以下代码来去除只含有标点符号的字符串元素:
import re
list = ["hello", "world!", " ", "goodbye,", "123"]
new_list = []
for item in list:
if not re.match(r'^\W+$', item):
new_list.append(item)
print(new_list)
输出结果为:['hello', '123']
希望能对你有所帮助!
使用第三方库 jieba 中的函数和 Python 内置函数,计算字符串 sentence 中的中文字符个数(包含中文标点符号)及中文词语个数。
在Python中,你可以使用jieba库来进行中文分词,并结合内置的len()函数来计算字符串中的中文字符(包括标点符号)和词语(去除标点后的词语)的数量。以下是使用这两个工具的示例:
```python
import jieba
def count_chinese(sentence):
# 使用jieba.lcut进行分词,保留中文字符和分割出来的词语
words = list(jieba.cut(sentence, cut_all=True))
# len函数计算字符个数,注意这里包含标点符号
char_count = len(''.join(words))
# 去除标点并计算词语个数
word_count = len([word for word in words if '\u4e00' <= word <= '\u9fff'])
return char_count, word_count
sentence = "这是一个测试句子,包含中文字符和词语。"
char_count, word_count = count_chinese(sentence)
print(f"中文字符个数:{char_count}")
print(f"中文词语个数:{word_count}")
阅读全文