python删除字符串人名
时间: 2023-09-02 18:02:35 浏览: 84
Python中删除字符串中的人名可以通过正则表达式或者字符串处理函数来实现。
方法一: 使用正则表达式
可以使用re模块的sub()函数来替换匹配到的人名。示例代码如下:
import re
def remove_names(text):
pattern = r'\b[A-Za-z]+\b' # 以字母组成的单词
replaced_text = re.sub(pattern, '', text)
return replaced_text
例子:
text = "我的名字是Mike,今天遇到了John。"
result = remove_names(text)
print(result)
输出: "我的名字是,今天遇到了。"
方法二: 使用字符串处理函数
可以使用字符串的replace()函数来替换特定的人名。示例代码如下:
def remove_names(text):
names = ['Mike', 'John'] # 人名列表
for name in names:
text = text.replace(name, '')
return text
例子:
text = "我的名字是Mike,今天遇到了John。"
result = remove_names(text)
print(result)
输出: "我的名字是,今天遇到了。"
以上是两种常见的方法来删除字符串中的人名,具体选择哪种方法可以根据实际情况进行选择。
相关问题
python获取字符串中姓王的人名
以下是一个示例代码,假设字符串为`string`:
```
names = string.split() # 将字符串按空格分割成单词
wang_names = [name for name in names if name.startswith('王')] # 筛选以“王”开头的名字
```
这样,`wang_names`列表中就包含了所有姓“王”的人名。
python提取字符串中姓名
如果你要从一段文本中提取出姓名,可以使用正则表达式来匹配其中的人名。
以下是一个示例代码:
```python
import re
text = "张三说:我叫张三,今年25岁,来自北京。"
# 匹配中文名字
pattern = re.compile(r'[\u4e00-\u9fa5]{2,4}')
name = pattern.findall(text)
print(name)
```
运行结果为:
```python
['张三', '张三']
```
这个正则表达式会匹配长度在2到4之间的中文字符,因此它可以匹配中文名字。在这个例子中,我们使用 `findall` 函数来查找所有匹配的字符串,然后将它们放在一个列表中返回。