यह जांचना कि क्या XXXX के साथ एक स्ट्रिंग शुरू होती है


427

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

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

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

मैं पायथन में समान कैसे प्राप्त कर सकता हूं?

जवाबों:



105

आपके विशिष्ट प्रश्न के लिए रणराग पहले ही इसका उत्तर दे चुका है

हालांकि, अधिक आम तौर पर, आप क्या कर रहे हैं

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

एक है regex मैच। पायथन में भी ऐसा करने के लिए, आप यह करेंगे:

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

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


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

29

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

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

नोट : startswithलेता हैstr or a tuple of str

देखें डॉक्स


21

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

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")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.