2012-01-10 27 views
275

के साथ शुरू होती है, मैं यह जानना चाहता हूं कि स्ट्रिंग पाइथन में "हैलो" से शुरू होती है या नहीं।यह जांचना कि क्या एक स्ट्रिंग XXXX

बैश में मैं आमतौर पर करते हैं:

if [[ "$string" =~ ^hello ]]; then 
do something here 
fi 

मैं कैसे पायथन में एक ही लक्ष्य को हासिल करते हैं?

+13

क्या आपने प्रलेखन को देखने का प्रयास किया है? – Marcin

+8

@ मार्सिन सहमत हुए। साथ ही, यह शीर्षक लगभग सही वाक्यविन्यास के लिए पास करता है :-) बस कुछ रिक्त स्थान हटाएं और कुछ कोष्ठक जोड़ें और कोलन के साथ समाप्त करें ... 'अगर aString.startswith (XXXX): ' – plundra

उत्तर

68

RanRag has already answered यह आपके विशिष्ट प्रश्न के लिए है।

हालाँकि, और अधिक आम तौर पर, क्या आप

if [[ "$string" =~ ^hello ]] 

साथ क्या कर रहे एक regex मुकाबला नहीं है। अजगर में भी ऐसा ही करने के लिए, आपको करना होगा:

import re 
if re.match(r'^hello', somestring): 
    # do stuff 

जाहिर है, इस मामले में, somestring.startswith('hello') बेहतर है।

+0

बस उस चीज़ को जोड़ना चाहता था मैं कर रहा था, re.match और re.sub हमेशा किसी भी अन्य विधि की तुलना में काफी धीमी थी। –

12

भी इस तरह से किया जा सकता है ..

regex=re.compile('^hello') 

## THIS WAY YOU CAN CHECK FOR MULTIPLE STRINGS 
## LIKE 
## regex=re.compile('^hello|^john|^world') 

if re.match(regex, somestring): 
    print("Yes") 
4

मामले में आप अपने जादू शब्द को कई शब्द का मिलान कर आप शब्द एक टपल के रूप में मैच के लिए पारित कर सकते हैं चाहते हैं:

>>> magicWord = 'zzzTest' 
>>> magicWord.startswith(('zzz', 'yyy', 'rrr')) 
True 

docs देखें।

संबंधित मुद्दे