簡體   English   中英

使用正則表達式在Python中進行字符串拆分

[英]String splitting in Python using regex

我正在嘗試在Python中拆分一個字符串,以便在某個正則表達式之前得到所有內容。

示例字符串: "Some.File.Num10.example.txt"

在這一部分之前我需要一切: "Num10" ,正則表達式: r'Num\\d\\d' (數字會有所不同,可能會發生什么變化)。

關於如何做到這一點的任何想法?

>>> import re
>>> s = "Some.File.Num10.example.txt"
>>> p = re.compile("Num\d{2}")
>>> match = p.search(s)
>>> s[:match.start()]
'Some.File.'

執行拆分會更有效,因為搜索不必掃描整個字符串。 它打破了第一場比賽。 在你的例子中,它不會有所不同,因為字符串很短但是如果你的字符串很長並且你知道匹配將在開頭,那么這種方法會更快。

我剛寫了一個小程序來分析search()和split()並確認了上面的斷言。

>>> import re
>>> text = "Some.File.Num10.example.txt"
>>> re.split(r'Num\d{2}',text)[0]
'Some.File.'

你可以使用Python的re.split()

import re

my_str = "This is a string."

re.split("\W+", my_str)

['This', 'is', 'a', 'string', '']

暫無
暫無

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

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