去除字符串列表中中不为中文词语的内容
时间: 2023-08-15 14:03:07 浏览: 37
可以使用Python中的正则表达式模块re来实现。具体步骤如下:
1. 导入re模块。
2. 定义正则表达式,匹配非中文字符。
3. 遍历字符串列表,使用re.sub()函数将非中文字符替换为空字符串。
代码如下:
```python
import re
def remove_non_chinese_words(str_list):
# 定义正则表达式,匹配非中文字符
pattern = re.compile('[^\u4e00-\u9fa5]')
# 遍历字符串列表,使用re.sub()函数将非中文字符替换为空字符串
chinese_str_list = []
for s in str_list:
chinese_str = re.sub(pattern, '', s)
if chinese_str:
chinese_str_list.append(chinese_str)
return chinese_str_list
```
使用示例:
```python
str_list = ["hello", "你好", "world", "世界"]
chinese_str_list = remove_non_chinese_words(str_list)
print(chinese_str_list)
# 输出:['你好', '世界']
```
相关问题
JS 如何在去除字符串中中括号包含的内容
可以使用正则表达式和字符串的 replace 方法来去除字符串中中括号包含的内容。具体实现代码如下:
```javascript
let str = '这是一个[示例]字符串,[包含]中括号[内容]。';
let newStr = str.replace(/\[[^\]]*\]/g, '');
console.log(newStr); // 输出:这是一个字符串,中括号。
```
上述代码中,正则表达式 `/\[[^\]]*\]/g` 匹配中括号及其内部的任意字符,`[^\]]*` 表示中括号内部不能包含右括号,`g` 表示全局匹配。使用 replace 方法将匹配到的内容替换为空字符串,即可去除字符串中中括号包含的内容。
去除字符串列表中字符串内为数字的内容,形成新列表
可以使用正则表达式来匹配字符串内是否为数字,然后将不是数字的部分加入新列表中。以下是示例代码:
```python
import re
old_list = ["hello", "1234", "world", "5678"]
new_list = []
for string in old_list:
new_string = re.sub(r'\d+', '', string) # 去除字符串中的数字
if new_string != "":
new_list.append(new_string)
print(new_list) # 输出: ['hello', 'world']
```
在上面的代码中,我们使用了 `re.sub` 函数来匹配字符串中的数字部分并替换为空字符串,从而得到只包含非数字部分的新字符串。如果这个新字符串不为空,说明原字符串中包含非数字部分,那么就将这个新字符串加入新列表中。最终得到的新列表就是原列表中所有不包含数字的字符串。