一个Regex如何只匹配Python中字符串的前几个字符?

添玛

假设我得到了以下字符串:

P 1 (BNN-03) Voertuig te water Curacaostraat Groningen 011810 011871 013593 011833

A1 AMBU 18177 Binnendams 3373AE Hardinxveld-Giessendam HARDGD bon 81505

Prio 4(DIA: ja) AMBU 17104 F. Bordewijkstraat 3069WB Rotterdam ROTTDM bon 29230

我编写了以下正则表达式以对其进行测试:

^[ABP]\s?\d{1,3}|^PRIO\s?[1-5]|^\d{1,3}e?

我如何只能测试该字符串的前8个字符?我尝试了以下方法:

import re

str_to_test = "P 1 (BNN-03) Voertuig te water Curacaostraat Groningen 011810 011871 013593 011833"
expr = re.compile(r"^[ABP]\s?\d{1,3}|^PRIO\s?[1-5]|^\d{1,3}e?", re.IGNORECASE)
result = re.sub(expr, '', str_to_test);
print(result) #  (BNN-03) Voertuig te water Curacaostraat Groningen 011810 011871 013593 011833

但这会完成整个字符串,这不是我想要的。我尝试更改str_to_teststr_to_test[:8]获取前8个字符,但这删除了我也需要的其余字符。请在这里帮助我。

我想看的输出:

P 1 (BNN-03) Voertuig te water Curacaostraat Groningen 011810 011871 013593 011833 -> (BNN-03) Voertuig te water Curacaostraat Groningen 011810 011871 013593 011833

A1 AMBU 18177 Binnendams 3373AE Hardinxveld-Giessendam HARDGD bon 81505 -> AMBU 18177 Binnendams 3373AE Hardinxveld-Giessendam HARDGD bon 81505

Prio 4 (DIA: ja) AMBU 17104 F. Bordewijkstraat 3069WB Rotterdam ROTTDM bon 29230 -> (DIA: ja) AMBU 17104 F. Bordewijkstraat 3069WB Rotterdam ROTTDM bon 29230

安禅

您可以使用切片,更改:

result = re.sub(expr, '', str_to_test);

至:

result = re.sub(expr, '', str_to_test[:8])+str_to_test[8:];


为了更好地了解切片的工作原理,请执行以下操作:

a = '1234567890'

print(a[:8], a[8:])

输出:

12345678 90

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

关于在python中用几个字符分割字符串的一个函数

如何在Python中显示字符串的前几个字符?

如何获取方法链中字符串的第一个或最后几个字符?

一个Java字符串可以有几个字符?

如何只显示字符串中的前几个字符

如何在Java中替换字符串的一部分,在该字符串中匹配第一个几个字符,在两者之间进行转义并在最后匹配某个字符?

C#:如何从几个字符串变量创建一个列表并将其放入 SOAP 字符串

如何通过前几个字符过滤字符串

修剪 BigQuery MySQL 中字符串的前几个字符

检查字符串中的前几个字符

从字符串正则表达式中修剪前几个字符

仅选择字符串C ++中的前几个字符

如何过滤几个字符串

如何在字符串列表中找到几个字符中的第一个和最后一个?

添加到另一个数组中,并从字符串中修剪出几个字符

如何在Julia中替换字符串中的几个字符

Python如何将一个字符串分成几个阶段

如何拆分字符串并只取python中的第一个字符串(一个数字)?

如何只grep行中的第一个字符串

如何在python中几个文件的某些行的末尾添加一个字符串

Python:如何找到与字符串中前三个字符匹配的目录?

如何从 Python 中的正则表达式中只提取一个字符串?

如何在TSQL中匹配字符串的最后一个字符?

如何模式匹配字符串中的第一个字符

字符串匹配后如何只获取一个字符(从rpm确定RHEL版本)

只打印前几个字符

如何使用此REGEX匹配最后一个字符串

如何通过grep找到几个字符串之一?

如何随机选择几个字符串之一?