繁体   English   中英

如何使用 Python 或 GREL 向字符串添加数字

[英]How to add numbers to a string with Python or GREL

我在需要处理的列中有>4000 个数字。它们看起来像这样: 040 413 560 89 或 0361 223240

我如何将其转换为以下格式: +49 (040) 41356089 或 +49 (0361) 223240

他们都需要有相同的国家拨号代码+49 ,然后将各自的区号放在括号中,有些已经是正确的格式。

我们可以将字符串分成几组:

>>> groups = '040 413 560 89'.split()
>>> groups
['040', '413', '560', '89']

我们可以将组切片,并分配给变量,也可以将后面的组连接成一个字符串:

>>> city, number = groups[0], ''.join(groups[1:])
>>> city, number
('040', '41356089')

我们可以格式化一个新的字符串:

>>> '+49 ({}) {}'.format(city, number)
'+49 (040) 41356089'

我们可以检查一个数字是否已经以+开头:

>>> '+49 (040) 41356089'.startswith('+')
True

这样做:

ls_alreadycorrected = ['(',')','+49']
str_in = '040 413 560 89' #or apply to list

for flag in ls_alreadycorrected:
    if flag not in str_in:
        how_many_spaces = str_in.count(' ')
        if how_many_spaces > 2:
            str_in = str_in.replace(' ','')
            str_out = '+049'+' ' + '(' + str_in[:3] + ') ' + str_in[-8:]
        else:
            str_in = str_in.replace(' ','')
            str_out = '+049'+' ' + '(' + str_in[:4] + ') ' + str_in[-6:]

这只是给你必须的电话号码类型。 对于数字列表,把它放在最上面而不是 str_in

for number in list_of_numbers:
    str_in = number

干杯

你可以这样做。

phone  = "456789"
cod = 123

final = str(cod) + phone

结果是"123456789"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM