在下面的代码中,我使用rjust(10, '9')将数字9作为前导数字添加到任何不包含10位数字的字符串中。
现在,我需要删除字符串中有10位数字的前导数字9。
我的工作代码:
dataNew['Telefone Celular'] = '5555-5555'
add9toTell = dataNew['Telefone Celular'].str.rjust(10, '9')
print(add9toTell)
>>> 95555-5555现在,如果有10个数字,我需要去掉数字9。我试着使用带有1:的str.replace(),但一无所获。
发布于 2021-08-26 22:13:54
arr = [1,2,3,4,5,6,7,8,9,10]
if len(arr) == 10:
arr = arr[1:]
print(arr)
# prints [2, 3, 4, 5, 6, 7, 8, 9, 10]您可以通过使用切片表示法和重新分配来尝试这样的操作
发布于 2021-08-26 23:45:46
这个函数不会更改少于10位的电话号码(包括破折号'-'),并且会删除恰好是10位的电话号码的第一个数字。
def remove_first_digit(in_str: str) -> str:
if len(in_str) == 10:
return in_str[1:]
return in_str用法:
telefone = "95555-5555"
print(remove_first_digit(telefone))
>>> "5555-5555"如果您正在寻找更通用的函数,以处理有破折号或空格(或任何不是数字的内容)的情况,您可以使用此版本的函数:
def remove_first_digit(in_str: str) -> str:
phone = ''.join([c for c in in_str if c.is_digit()])
if len(phone) == 9:
return phone[1:]
return phone它只是添加了一行,以确保字符串中只包含数字。
https://stackoverflow.com/questions/68945853
复制相似问题