簡體   English   中英

re.sub() 的高級使用

[英]Advanced use of re.sub()

我想制作一個算法,如果滿足要求,將刪除文本的一部分並保留其中的一部分並在第二部分添加特定的結尾。

例子:

screen.add(SUBTITLES("Remove the Pirates from the Ship"), {}, function()

Output:

screen.add("Remove the Pirates from the Ship", {}, function()

要求:我們要刪除的文本必須是大寫字母。 它會在(之后開始。它需要在完成后有(" 。我們希望在""之間保留文本不變,並在末尾刪除)因為那里不需要它。

您可能會看到我沒有關閉screen.add中的左括號,那是因為我后來關閉了它們。為此我需要使用 Python。如果可能的話,最好使用 re.sub()。 我知道可以在兩個單獨的 re.sub() 調用中輕松地做到這一點,但是是否可以將所有要求(刪除、不觸摸文本和刪除文本后的)放在一個 re.sub() 中?

如果被引用的部分是唯一會出現在括號之間的東西,並且被引用的部分本身沒有雙引號(也許轉義了?),那么這可以做到:

import re

s = """screen.add(SUBTITLES("Remove the Pirates from the Ship"), {}, function()"""
result = re.sub(r'\([A-Z]+\(("[^"]*")\)', r'(\1', s)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM