[英]re.sub with brackets, removing Japanese ruby characters
我該如何改變
a = "[ruby(空,ruby=そら)]は[ruby(青,ruby=あお)]い。"
進入
"空は青い。"
?
我試過了
re.sub(r"\[ruby\(.,ruby=.\)\]",".",a)
但根本不工作。
鑒於:
a = "[ruby(空,ruby=そら)]は[ruby(青,ruby=あお)]い。"
desired="空は青い。"
您可以使用更改來刪除子字符串:
>>> s=re.sub(r'\[ruby\(|,ruby=[^)]+\)\]','',a)
>>> s
空は青い。
>>> s==desired
True
您可以使用
a = re.sub(r'\[ruby\(([^(),]*),[^()]*\)]', r'\1', a)
請參閱正則表達式演示。 細節:
\[ruby\(
- 一個[ruby(
文本([^(),]*)
- 第 1 組:除(
, )
和逗號以外的任何文本,出現零次或多次,
- 逗號[^()]*
- 除(
和)
之外的零個或多個字符\)]
- a )]
文本。請參閱Python 演示:
import re
a = "[ruby(空,ruby=そら)]は[ruby(青,ruby=あお)]い。"
print( re.sub(r'\[ruby\(([^(),]*),[^()]*\)]', r'\1', a) )
# => 空は青い。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.