regex python转换

7uhlpewt  于 2023-06-25  发布在  Python
关注(0)|答案(2)|浏览(62)

我想知道什么是正则表达式来转换一个字符串,以减号开始,后跟一个逗号和一个数字序列,如-.13082,变成一个字符串,以减号开始,后跟前一个序列的第一个数字,然后是一个点,然后是其余的数字。
这会将-.13082转换为-1.3082或将-.26750转换为-2.6750
谢谢你

az31mfrm

az31mfrm1#

使用正则表达式组。一个用于负号,一个用于第一位,一个用于剩余的数字。

>>> re.sub(r'(-)\.(\d)(.*)', r'\1\2.\3',  "-.13082")
'-1.3082'
>>> re.sub(r'(-)\.(\d)(.*)', r'\1\2.\3', "-.26750")
'-2.6750'
iszxjhcz

iszxjhcz2#

您可以将以下模式与 * re. sub * 方法一起使用-将。捕获的值。

\.(\d)
string = '-.13082'
string = re.sub(r'\.(\d)', r'\1.', string)
-1.3082

或者,如果位置是静态的,您可以使用 * list * 类交换字符索引,并使用 * str.join * 重新连接。

string = '-.13082'
chars = list(string)
chars[1], chars[2] = chars[2], chars[1]
string = ''.join(chars)

相关问题