如何删除可变长度的字符串的一部分

埃里克·N。

我有一个DataFrame,其中一列是看起来像这样的字符串行:

Received value 126;AOC;H3498XX from 602
Received value 101;KYL;0IMMM0432 from 229

我想在第二个分号之后删除(或不替换任何内容)部分,以使其看起来像

Received value 126;AOC; from 602

但是我要删除的这部分将具有变化且不可预测的长度(始终是AZ和0-9的组合)。分号和froms将始终存在以供参考。

我正在尝试通过研究以下链接来使用正则表达式:https : //docs.python.org/3/library/re.html

import re
for row in df[‘column’]:
    row = re.sub(‘;[A-Z0-9] from’ , ‘; from’, row)

我认为[A-Z0-9]无法合并我想要的可变长度方面。

脏比特

str.replace()与结合使用的示例str.split()

s = ['126;AOC;H3498XX from 602', '101;KYL;0IMMM0432 from 229']

for elem in s:
    print(elem.replace(elem.split(";",2)[-1].split()[0],''))

输出

126;AOC; from 602
101;KYL; from 229

编辑

以下示例同样适用:

s = ['Received value 126;AOC;H3498XX from 602', 'Received value 101;KYL;0IMMM0432 from 229']

for elem in s:
    print(elem.replace(elem.split(";",2)[-1].split()[0],''))

输出

Received value 126;AOC; from 602
Received value 101;KYL; from 229

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章