根据定界符分割字符串,但移至1

问题描述

我试图拆分一个字符串(尽管当前数字在df列中是一个字符串),但是却很难在任何地方找到答案。我认为使用表达式可能是前进的方向,但还没有完全理解。

示例1)12.540%

示例2)4.555.6%

我想把所有内容都放在第一个'的左边。并且只有一个数字位于第一个'。'右边。

我需要将其应用于所有不同的数字长度,并且上面的陈述是唯一的常数。

示例1)12.5和40%

示例2)4.5和55.6%

谢谢

解决方法

这是字符串操作中的直接问题。任何字符串教程都可以教您基本操作。

  1. 找到期间的位置。
  2. 添加1。
  3. 在该位置分割字符串:通过该索引抓取一个切片;从那里到最后的第二片。

例如,您找到一个位置loc并向右调整1或2个点:

num,pct = str[:loc],str[loc:]
,

以下功能应执行您想要的操作:

def split_string(num):
  s=num.split('.',1)
  s1=s[0]+'.'+s[1][0]
  s2=s[1][1:]
  return (s1,s2)
,

如果要使用正则表达式,请使用此表达式捕获组。

^(\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'

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...