需要删除“:”和“-”之后的所有字符

时间:2019-02-04 13:49:48

标签: python python-3.x

我有两个具有以下结构的字符串。

1 ABCD: PQRS XYZ
2 qwerty-asd zxc

我需要删除“:”和“-”之后的所有字符 我尝试了以下代码。 我想要一个综合的解决方案,请为此提供帮助。

m = re.sub(r'^-(.*?)', "" ,tags)
print(m)
n = re.sub(r'^:(.*?)', "" ,m)
print(n)

8 个答案:

答案 0 :(得分:2)

不要费心更换:-之后的所有东西,只需取走之前的东西即可。

import re

li = ['1 ABCD: PQRS XYZ', '2 qwerty-asd zxc']

regex = re.compile(r'(.*)[:|-]')

for string in li:
    print(regex.search(string).group(1))

输出

1 ABCD
2 qwerty

答案 1 :(得分:0)

好的。

import re

r = re.compile('[-:].+$')

for text in [
  "1 ABCD: PQRS XYZ",
  "2 qwerty-asd zxc",
]:
  print(r.sub('', text))

输出

1 ABCD
2 qwerty

答案 2 :(得分:0)

正则表达式的“ OR”符号为|

n = re.sub(r'^:|-(.*?)', "" ,m)
print(n)

答案 3 :(得分:0)

IIUC,您需要

tags = 'Name: Raunaq'
m = re.sub(r'[-:](.*)', '', tags)
print (m)

输出-'Name:'

答案 4 :(得分:0)

您可以使用slicingindex函数,而无需使用其他模块。像:

value1 = "ABCD: PQRS XYZ"
value2 = "qwerty-asd zxc"

result1 = value1[:value1.index(":")]
result2 = value2[:value2.index("-")]

答案 5 :(得分:0)

您可以使用public static string encrypt(string str){ for(int i = 0; i < str.length(); i++){ int x = str.charAt(i) ; x = x + 1; } function updatePost($id , $title, $content, $date, $groups) { $connection = mysqli_connect(DataBaseManager::HOST, DataBaseManager::USER, DataBaseManager::PASSWORD, DataBaseManager::DATABASENAME); $sqlCommand = "UPDATE posts SET title = '$title', content = '$content', date = '$date' , groups = '$groups' WHERE id == 1"; if ($connection->query($sqlCommand) === TRUE) { echo "Record updated successfully"; } else { echo "Error updating record: " . $connection->error; } $connection->close(); } 分别获取str.index(':')str.index('-')的第一个匹配项的索引。然后,您可以使用切片将它们以及其他所有东西剥离。

:

答案 6 :(得分:0)

您可以使用简单的解决方案,而无需使用re模块:

def remove_after(string: str, token: str) -> str:
    return string[:string.index(token)]

proper_string = remove_after('1 ABCD: PQRS XYZ', ':')

答案 7 :(得分:0)

我创建了一个方法,该方法将使用字符串和需要分隔的字符。

def strip_off(s, charr):
    if charr in s:
        return s[:s.index(charr)]
    else:
        return charr, " not present in ", s

s1 = '1 ABCD: PQRS XYZ'
s2 = '2 qwerty-asd zxc'

print(strip_off(s1, ":"))
print(strip_off(s2, "-"))

输出:

1 ABCD
2 qwerty