/ / अजगर में पहले स्थान के बाद उप-स्ट्रिंग निकालना - अजगर, रेगेक्स

पायथन में पहली जगह के बाद उप-स्ट्रिंग निकालना - पायथन, रेगेक्स

मुझे निकालने के लिए रेगेक्स या पायथन में मदद चाहिएस्ट्रिंग के एक सेट से प्रतिस्थापित। स्ट्रिंग में अल्फ़ान्यूमेरिक होता है। मैं केवल वह स्थानापन्न चाहता हूं जो पहले स्थान के बाद शुरू होता है और नीचे दिए गए उदाहरण की तरह अंतिम स्थान से पहले समाप्त होता है।

Example 1:

A:01 What is the date of the election ?
BK:02 How long is the river Nile ?

Results:
What is the date of the election
How long is the river Nile

जब मैं उस पर हूँ, वहाँ एक निश्चित चरित्र से पहले या बाद में तार निकालने का एक आसान तरीका है? उदाहरण के लिए, मैं तारीख या दिन को एक स्ट्रिंग से निकालना चाहता हूं जैसे कि उदाहरण 2 में दिए गए हैं।

Example 2:

Date:30/4/2013
Day:Tuesday

Results:
30/4/2013
Tuesday

मैं वास्तव में रेगेक्स के बारे में पढ़ा है, लेकिन यह मेरे लिए बहुत अलग है। धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 6

मैं उपयोग करने की सलाह देते हैं split

>>> s="A:01 What is the date of the election ?"
>>> " ".join(s.split()[1:-1])
"What is the date of the election"
>>> s="BK:02 How long is the river Nile ?"
>>> " ".join(s.split()[1:-1])
"How long is the river Nile"
>>> s="Date:30/4/2013"
>>> s.split(":")[1:][0]
"30/4/2013"
>>> s="Day:Tuesday"
>>> s.split(":")[1:][0]
"Tuesday"

जवाब के लिए 5 № 2
>>> s="A:01 What is the date of the election ?"
>>> s.split(" ", 1)[1].rsplit(" ", 1)[0]
"What is the date of the election"
>>>

उत्तर № 3 के लिए 1

वहाँ regex में खुदाई करने की कोई जरूरत नहीं है अगर यह आप की जरूरत है, तो आप उपयोग कर सकते हैं str.partition

s = "A:01 What is the date of the election ?"
before,sep,after = s.partition(" ") # could be, eg, a ":" instead

यदि आप चाहते हैं कि अंतिम भाग है, तो आप उपयोग कर सकते हैं _ "डॉन" टी केयर के लिए प्लेसहोल्डर के रूप में:

_,_,theReallyAwesomeDay = s.partition(":")