我试图拆分一个字符串(尽管当前数字在df列中是一个字符串),但是却很难在任何地方找到答案。我认为使用表达式可能是前进的方向,但还没有完全理解。
示例1)12.540%
示例2)4.555.6%
我想把所有内容都放在第一个'的左边。并且只有一个数字位于第一个'。'右边。
我需要将其应用于所有不同的数字长度,并且上面的陈述是唯一的常数。
示例1)12.5和40%
示例2)4.5和55.6%
谢谢
答案 0 :(得分:1)
这是字符串操作中的直接问题。任何字符串教程都可以教您基本操作。
例如,您找到一个位置loc
并向右调整1或2个点:
num, pct = str[:loc], str[loc:]
答案 1 :(得分:1)
以下功能应执行您想要的操作:
def split_string(num):
s=num.split('.', 1)
s1=s[0]+'.'+s[1][0]
s2=s[1][1:]
return (s1, s2)
答案 2 :(得分:1)
如果要使用正则表达式,请使用此表达式捕获组。
^(\d+\..)(.*)$
如果需要,可以将其与re.search一起使用。
b = re.search(r'^(\d+\..)(.*)$', string)
b.group(1)
b.group(2)
Ex-
val = '12.445.6'
b = re.search(r'^(\d+\..)(.*)$', val)
b.group(1)
Out[24]: '12.4'
b.group(2)
Out[25]: '45.6'