Hướng dẫn extract a substring from a string in python - trích xuất một chuỗi con từ một chuỗi trong python

490

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Giả sử tôi có một chuỗi

import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search['AAA[.+?]ZZZ', text].group[1]
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # apply your error handling

# found: 1234
8 và tôi muốn trích xuất chỉ phần
import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search['AAA[.+?]ZZZ', text].group[1]
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # apply your error handling

# found: 1234
9.

Tôi chỉ biết những gì sẽ là một vài ký tự trực tiếp trước

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
0, và sau
>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
1 phần tôi quan tâm đến
>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
2.

Với

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
3 có thể làm một cái gì đó như thế này với một chuỗi:

echo "$STRING" | sed -e "s|.*AAA\[.*\]ZZZ.*|\1|"

Và điều này sẽ cho tôi

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
2 do đó.

Làm thế nào để làm điều tương tự trong Python?

Aran-Fey

36.6K11 Huy hiệu vàng96 Huy hiệu bạc141 Huy hiệu đồng11 gold badges96 silver badges141 bronze badges

hỏi ngày 12 tháng 1 năm 2011 lúc 9:14Jan 12, 2011 at 9:14

1

Sử dụng biểu thức chính quy - Tài liệu để tham khảo thêm

import re

text = 'gfgfdAAA1234ZZZuijjk'

m = re.search['AAA[.+?]ZZZ', text]
if m:
    found = m.group[1]

# found: 1234

or:

import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search['AAA[.+?]ZZZ', text].group[1]
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # apply your error handling

# found: 1234

CDMP

3004 Huy hiệu bạc9 Huy hiệu Đồng4 silver badges9 bronze badges

Đã trả lời ngày 12 tháng 1 năm 2011 lúc 9:18Jan 12, 2011 at 9:18

Eumiroeumiroeumiro

199K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges294 silver badges259 bronze badges

13

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'

Sau đó, bạn cũng có thể sử dụng RegEXP với mô -đun RE, nếu bạn muốn, nhưng điều đó không cần thiết trong trường hợp của bạn.

Đã trả lời ngày 12 tháng 1 năm 2011 lúc 9:17Jan 12, 2011 at 9:17

Lennart Regebrolennart RegebroLennart Regebro

162K41 Huy hiệu vàng221 Huy hiệu bạc251 Huy hiệu Đồng41 gold badges221 silver badges251 bronze badges

5

biểu hiện thông thường

import re

re.search[r"[?

Bài Viết Liên Quan

Chủ Đề