繁体   English   中英

使用正则表达式捕获文本直到第一次出现新行

[英]Using Regex to catch text until first occurrence of new line

考虑我有以下文字:

== Sejarah == \n Berkas:Gunung Kawi Rice Terrace Tampaksiring 1.jpg|kiri|jmpl|200px|Sawah di sekitar Candi Tebing Gunung Kawi, Tampaksiring, Bali. \n  \n  \n \n Jepang menduduki Bali selama Perang Dunia II dan saat itu seorang perwira militer bernama I Gusti Ngurah Rai membentuk pasukan Bali 'pejuang kemerdekaan'. Berkas:Bali Labeled.png|jmpl|225px|Peta topografi Pulau Bali \n \n === Daftar kabupaten dan kota di Bali == 

我想替换来自 Berkas: 的所有数据,直到第一次出现 \\n 这意味着:

Berkas:Gunung Kawi Rice Terrace Tampaksiring 1.jpg|kiri|jmpl|200px|Sawah di sekitar Candi Tebing Gunung Kawi, Tampaksiring, Bali. \n
Berkas:Bali Labeled.png|jmpl|225px|Peta topografi Pulau Bali \n

我尝试使用正则表达式df['Body'] = df['Body'].str.replace('Berkas:[\\s\\S]*?\\n','',regex=True)没有成功我怎么知道\\n 应该是第一个找到的正则表达式? 我究竟做错了什么?!

以下正则表达式部分对我有用。 唯一的问题是它还返回一个额外的\\

Berkas:[\s\S]*?[\\\n]

输出:

Berkas:Gunung Kawi Rice Terrace Tampaksiring 1.jpg|kiri|jmpl|200px|Sawah di sekitar Candi Tebing Gunung Kawi,Tampaksiring,巴厘岛。 \\

Berkas:Bali Labeled.png|jmpl|225px|Peta topografi Pulau Bali \\

输出为: 在此处输入图片说明

import re
text =  "== Sejarah == \n Berkas:Gunung Kawi Rice Terrace Tampaksiring 1.jpg|kiri|jmpl|200px|Sawah di sekitar Candi Tebing Gunung Kawi, Tampaksiring, Bali. \n  \n  \n \n Jepang menduduki Bali selama Perang Dunia II dan saat itu seorang perwira militer bernama I Gusti Ngurah Rai membentuk pasukan Bali 'pejuang kemerdekaan'. Berkas:Bali Labeled.png|jmpl|225px|Peta topografi Pulau Bali \n \n === Daftar kabupaten dan kota di Bali == "
pattern = "Berkas.*\n" 
## list of data from Berkas
Berkas_list = re.findall(pattern, text)
for data in Berkas_list:
    print(data)

输出:

Berkas:Gunung Kawi Rice Terrace Tampaksiring 1.jpg|kiri|jmpl|200px|Sawah di sekitar Candi Tebing Gunung Kawi, Tampaksiring, Bali. 

Berkas:Bali Labeled.png|jmpl|225px|Peta topografi Pulau Bali

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM