python获取字符串中姓王的人名
时间: 2023-09-03 13:08:11 浏览: 88
以下是一个示例代码,假设字符串为`string`:
```
names = string.split() # 将字符串按空格分割成单词
wang_names = [name for name in names if name.startswith('王')] # 筛选以“王”开头的名字
```
这样,`wang_names`列表中就包含了所有姓“王”的人名。
相关问题
python获取字符串中的人名
要获取字符串中的人名,可以使用正则表达式。以下是一个示例代码:
```python
import re
# 定义一个字符串
text = "张三、李四、王五和赵六都是好朋友。"
# 定义匹配人名的正则表达式
pattern = r"[\u4e00-\u9fa5]{2,4}"
# 使用findall方法查找字符串中所有符合正则表达式的子串
names = re.findall(pattern, text)
# 输出结果
print(names)
```
运行结果为:
```
['张三', '李四', '王五', '赵六']
```
解释一下代码:
1. 定义一个字符串 `text`,其中包含了一些人名。
2. 定义一个正则表达式 `pattern`,用于匹配人名。这个正则表达式表示:匹配两到四个汉字。
3. 使用 `re.findall(pattern, text)` 方法查找字符串中所有符合正则表达式的子串。这个方法返回一个列表,其中包含了所有找到的子串。
4. 输出结果。
python使用jieba对字符串进行分词并获取字符串中的人名地名等信息
使用jieba对字符串进行分词并获取字符串中的人名、地名等信息,可以使用jieba的词性标注功能,对分词后的每个词语进行词性标注,然后根据标注结果提取需要的信息。具体步骤如下:
1. 导入jieba和posseg两个库:
```python
import jieba
import jieba.posseg as pseg
```
2. 对字符串进行分词和词性标注:
```python
text = "小明来自中国北京市海淀区。"
words = pseg.cut(text)
```
3. 遍历分词结果,提取人名和地名:
```python
person_list = [] # 存储人名
location_list = [] # 存储地名
for word, flag in words:
if flag == "nr":
person_list.append(word)
elif flag == "ns":
location_list.append(word)
```
完整代码如下:
```python
import jieba
import jieba.posseg as pseg
text = "小明来自中国北京市海淀区。"
words = pseg.cut(text)
person_list = [] # 存储人名
location_list = [] # 存储地名
for word, flag in words:
if flag == "nr":
person_list.append(word)
elif flag == "ns":
location_list.append(word)
print("人名:", person_list)
print("地名:", location_list)
```
输出结果如下:
```
人名: ['小明']
地名: ['中国', '北京市', '海淀区']
```
通过以上代码,就可以方便地对字符串进行分词并提取其中的人名、地名等信息了。