我想知道什么是正则表达式来转换一个字符串,以减号开始,后跟一个逗号和一个数字序列,如-.13082,变成一个字符串,以减号开始,后跟前一个序列的第一个数字,然后是一个点,然后是其余的数字。这会将-.13082转换为-1.3082或将-.26750转换为-2.6750谢谢你
-.13082
-1.3082
-.26750
-2.6750
az31mfrm1#
使用正则表达式组。一个用于负号,一个用于第一位,一个用于剩余的数字。
>>> re.sub(r'(-)\.(\d)(.*)', r'\1\2.\3', "-.13082") '-1.3082' >>> re.sub(r'(-)\.(\d)(.*)', r'\1\2.\3', "-.26750") '-2.6750'
iszxjhcz2#
您可以将以下模式与 * re. sub * 方法一起使用-将。捕获的值。
\.(\d)
string = '-.13082' string = re.sub(r'\.(\d)', r'\1.', string)
或者,如果位置是静态的,您可以使用 * list * 类交换字符索引,并使用 * str.join * 重新连接。
string = '-.13082' chars = list(string) chars[1], chars[2] = chars[2], chars[1] string = ''.join(chars)
2条答案
按热度按时间az31mfrm1#
使用正则表达式组。一个用于负号,一个用于第一位,一个用于剩余的数字。
iszxjhcz2#
您可以将以下模式与 * re. sub * 方法一起使用-将。捕获的值。
或者,如果位置是静态的,您可以使用 * list * 类交换字符索引,并使用 * str.join * 重新连接。