首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用python删除字符计数为10的前导数字

如何使用python删除字符计数为10的前导数字
EN

Stack Overflow用户
提问于 2021-08-26 22:08:45
回答 2查看 35关注 0票数 0

在下面的代码中,我使用rjust(10, '9')将数字9作为前导数字添加到任何不包含10位数字的字符串中。

现在,我需要删除字符串中有10位数字的前导数字9。

我的工作代码:

代码语言:javascript
运行
复制
dataNew['Telefone Celular'] = '5555-5555'
add9toTell = dataNew['Telefone Celular'].str.rjust(10, '9')
print(add9toTell)
>>> 95555-5555

现在,如果有10个数字,我需要去掉数字9。我试着使用带有1:的str.replace(),但一无所获。

EN

回答 2

Stack Overflow用户

发布于 2021-08-26 22:13:54

代码语言:javascript
运行
复制
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]

您可以通过使用切片表示法和重新分配来尝试这样的操作

票数 2
EN

Stack Overflow用户

发布于 2021-08-26 23:45:46

这个函数不会更改少于10位的电话号码(包括破折号'-'),并且会删除恰好是10位的电话号码的第一个数字。

代码语言:javascript
运行
复制
def remove_first_digit(in_str: str) -> str:
    if len(in_str) == 10:
        return in_str[1:]
    return in_str

用法:

代码语言:javascript
运行
复制
telefone = "95555-5555"
print(remove_first_digit(telefone))
>>> "5555-5555"

如果您正在寻找更通用的函数,以处理有破折号或空格(或任何不是数字的内容)的情况,您可以使用此版本的函数:

代码语言:javascript
运行
复制
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

它只是添加了一行,以确保字符串中只包含数字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68945853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档