在 Python 中查找重新格式化的电话号码的程序
假设我们有一个号码作为字符串。号码由数字、空格和/或破折号“-”组成。我们想以某种方式重新格式化号码。规则很少 -
删除开头的所有空格和破折号
将从左侧到右侧的数字分组为长度为 3 的块,直到剩下 4 个或更少的数字。
然后将最后的数字分组如下 -
对于 2 位数字:长度为 2 的单个块。
对于 3 位数字:长度为 3 的单个块。
对于 4 位数字:另外两个长度为 2 的块。
然后这些块被破折号击打。我们必须找到重新格式化的号码。
因此,如果输入类似于 s = "9-6-84102-4 7-8",那么输出将是“968-410-24-78”
示例(Python)
让我们看看以下实现以获得更好的理解 -
def solve(s):digits = ""
blk = ""
for i in s:
if i.isnumeric():
blk += i
if len(blk) == 3:
digits += blk+"-"
blk = ""
if len(blk) == 0:
return digits[:-1]
elif len(blk) == 1:
return digits[:-2]+"-"+digits[-2]+blk
elif len(blk) == 2:
return digits+blk
s = "9-6-84102-4 7-8"
print(solve(s))
输入
"9-6-84102-4 7-8"输出结果
968-410-24-78
以上是 在 Python 中查找重新格式化的电话号码的程序 的全部内容, 来源链接: utcz.com/z/327523.html