re.search最速遍历

表示数字

https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6

from os import spawnl
import re
text = input()
index = 0 
result = ''
while index < len(text):
    tmp = re.search('[0-9]+', text[index:])
    # 注意切片导致索引变动
    if tmp:
        result+=text[index:tmp.span()[0]+index]
        result+='*'+tmp.group()+'*'
        index = tmp.span()[1]+index
    else:
        result+=text[index:]
        index = len(text)
print(result)


# for i in range(len(text)):
#     print(f'in:i {i} index {index} result {result}')

#     if i < index:
#         continue
#     if re.search('[0-9]+', text[i:]):
#         # 找到数字段落
#         tmp = re.search('[0-9]+', text[i:])
#         # 返回数字段落
#         result+=text[index:tmp.span()[0]-1]
#         # 加到该数字字段之前的非数字段落
#         result+='*'+tmp.group()+'*'
#         # 修饰并加上数字段落
#         index = tmp.span()[1]
#         # 索引设置到该数字段落之后
#     elif i == len(text)-1:
#         # 已找不到数字段落 且已经到最后
#         result+=text[index:]
#         # 加上累计的非数字段落
#         index = i
#         # 索引设置到该段落之后
#     print(f'out:i {i} index {index} result {result}')
# print(result)

全部评论

相关推荐

09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
LXXXXd:有点杂,想搞自动化的话没必要把法律的经历写上去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务