带条件的斜杠后删除字符串

胡安·佩雷斯(Juan Perez)

我想删除短语中的第二部分,只要该部分的长度超过3个字符(字母和数字),并且如果字符不超过3个,则添加空格。

在以下测试集中:

CENTRAL CARE HOSPITAL/HOPITAL CENTRALE DE SOINS
ABC/DEF
FOUNDATION INSTITUTION/FUNDATION DEL INSTITUTO
HAPPY SPRING BREAK 20/20

结果应为

CENTRAL CARE HOSPITAL
ABC DEF
FOUNDATION INSTITUTION
HAPPY SPRING BREAK 20 20

我的第一次尝试是这样的:

([^\/]+$)

但是,斜杠后的所有字符串都消失了,因为它没有任何限制。我需要包含一个否定的前瞻性声明,当斜杠后的字符串超过3个字符时,我需要删除它们:

text= re.sub(r'(^[^\/]+)(?:[\/])(?![A-Z]{3})',
             r'\1 ',
             text,
             0,
             re.IGNORECASE)

我收到以下不正确的信息:

CENTRAL CARE HOSPITAL/HOPITAL CENTRALE DE SOINS 
ABC DEF
FOUNDATION INSTITUTION/FUNDATION DEL INSTITUTO 
HAPPY SPRING BREAK 20 20

如何摆脱前面的斜线和字符串?

谢谢

第四只鸟

您可以使用2个捕获组来捕获之前和之后的1-3个字符AZ或数字,并在/替换中使用这些组,并在其之间留一个空格。

使用交替符来匹配正斜杠,然后匹配其余的要删除的字符串。

\b([A-Z0-9]{1,3})/([A-Z0-9]{1,3})\b|/.*

在替换中,使用2个捕获组

r"\1 \2"

说明

  • \b词边界
  • ([A-Z0-9]{1,3})捕获组1,匹配1-3倍AZ或一个数字
  • / 逐字匹配
  • ([A-Z0-9]{1,3})捕获组2,匹配1-3倍AZ或一个数字
  • \b 词边界
  • | 要么
  • /.*匹配/和0+次除换行符以外的任何字符

正则表达式演示| Python演示

范例程式码

import re

regex = r"\b([A-Z0-9]{1,3})/([A-Z0-9]{1,3})\b|/.*"

text = ("CENTRAL CARE HOSPITAL/HOPITAL CENTRALE DE SOINS\n"
    "ABC/DEF\n"
    "FOUNDATION INSTITUTION/FUNDATION DEL INSTITUTO\n"
    "HAPPY SPRING BREAK 20/20")

result = re.sub(regex, r"\1 \2", text)
print (result)

输出量

CENTRAL CARE HOSPITAL 
ABC DEF
FOUNDATION INSTITUTION 
HAPPY SPRING BREAK 20 20

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫:删除带条件的字符串

来自分类Dev

Mod重写在斜杠后删除查询字符串

来自分类Dev

从字符串中删除反斜杠

来自分类Dev

删除字符串中的反斜杠

来自分类Dev

从位于一定数量字符后的字符串中删除带括号的子字符串

来自分类Dev

发送带字符串的请求后

来自分类Dev

SUMIF条件字符串带空格?

来自分类Dev

带空字符串的条件语句

来自分类Dev

带条件的映射字符串序列

来自分类Dev

带条件字符串的FOR循环

来自分类Dev

熊猫:删除带日期的字符串

来自分类Dev

删除字符并替换字符串中的反斜杠

来自分类Dev

c#razor字符串与带斜杠的html字符串的串联

来自分类Dev

用带反斜杠的字符串替换字符串

来自分类Dev

自定义字符串格式0,0(带斜杠或反斜杠)

来自分类Dev

使用Ruby从字符串中删除双反斜杠

来自分类Dev

从字符串R删除前导反斜杠

来自分类Dev

红宝石从字符串中删除反斜杠

来自分类Dev

如何从字符串中删除对斜杠+双引号?

来自分类Dev

从字符串lua中删除反斜杠

来自分类Dev

如何删除红宝石字符串中的反斜杠

来自分类Dev

如何从字符串Clojure中删除反斜杠\

来自分类Dev

从字符串中删除反斜杠(转义符)

来自分类Dev

从最终字符串和GET中删除斜杠

来自分类Dev

删除结尾的斜杠并使用.htaccess创建查询字符串

来自分类Dev

从字符串中删除重复的(重叠)斜杠

来自分类Dev

从PHP中的字符串中删除斜杠

来自分类Dev

删除结尾的斜杠并使用.htaccess创建查询字符串

来自分类Dev

从R中的字符串中删除反斜杠