如何删除遇到的第一个数字后的字符串中的字符

时间:2019-01-04 21:54:16

标签: python-2.7

这应该很容易。我的主机名例如:

hostfoo1234.blah.com

hostbar9999.blah.com

hostbazz0489.blah.com

遇到第一个数字(包括第一个数字)后,如何使用正则表达式删除所有内容?第一个数字可以是0-9。输出应为:

hostfoo

主机栏

hostbazz

谢谢!

1 个答案:

答案 0 :(得分:1)

没有正则表达式

def removeAfterFirstNumber(hostname):
    res = []
    for i in range(0,len(hostname)): 
        if hostname[i].isdigit()is not True:            
            res.append(hostname[i])
        else:
            break

    return "".join(res)


a="hostbazz0489.blah.com"

print (removeAfterFirstNumber(a))

## output
hostbazz

或使用re库

import re

def removeAfterFirstNumber(hostname):
    m = re.search("\d", hostname)     
    return hostname[:m.start()] if m else hostname

a="hostbazz0489.blah.com"
print (removeAfterFirstNumber(a))

## output
hostbazz