现有一个游戏系统的日志文件,记录内容的字符串的格式如下所示 A girl come in, the name is Jack, level 955; 其中包含的 the name is 后面会跟着人名,随后紧跟一个逗号,其它部分可能都是会变化的,比如,可能是下面这些: A old lady come in, the name is Mary, level 94454 A pretty boy come in, the name is Patrick, level 194 请实现一个函数getName(str),获取所有的玩家姓名
时间: 2023-11-28 18:48:20 浏览: 145
实现思路:
1. 利用正则表达式匹配字符串中的姓名部分;
2. 通过循环遍历日志文件中的每一条记录,从中提取出姓名,并添加到一个列表中;
3. 返回包含所有玩家姓名的列表。
参考代码如下:
```python
import re
def getName(log):
pattern = r'the name is (\w+),'
name_list = []
for line in log:
res = re.search(pattern, line)
if res:
name = res.group(1)
name_list.append(name)
return name_list
```
其中,参数 log 为日志文件,是一个包含多条记录的列表。函数中的正则表达式 pattern 用于匹配字符串中的姓名部分,\w+ 表示匹配由一个或多个单词字符(字母、数字、下划线)组成的字符串。循环遍历日志文件中的每一条记录,使用 search() 方法匹配字符串中的姓名部分,将其添加到名字列表 name_list 中。最后返回包含所有玩家姓名的列表。
阅读全文