Tôi muốn biết làm thế nào để kiểm tra xem một chuỗi bắt đầu bằng "xin chào" trong Python.
Trong Bash tôi thường làm:
if [[ "$string" =~ ^hello ]]; then
do something here
fi
Làm thế nào để tôi đạt được điều tương tự trong Python?
Tôi muốn biết làm thế nào để kiểm tra xem một chuỗi bắt đầu bằng "xin chào" trong Python.
Trong Bash tôi thường làm:
if [[ "$string" =~ ^hello ]]; then
do something here
fi
Làm thế nào để tôi đạt được điều tương tự trong Python?
Câu trả lời:
aString = "hello world"
aString.startswith("hello")
Thêm thông tin về startswith
.
RanRag đã trả lời nó cho câu hỏi cụ thể của bạn.
Tuy nhiên, nói chung, những gì bạn đang làm với
if [[ "$string" =~ ^hello ]]
là một trận đấu regex . Để làm tương tự trong Python, bạn sẽ làm:
import re
if re.match(r'^hello', somestring):
# do stuff
Rõ ràng, trong trường hợp này, somestring.startswith('hello')
là tốt hơn.
Trong trường hợp bạn muốn ghép nhiều từ với từ ma thuật của mình, bạn có thể chuyển các từ để ghép thành một tuple:
>>> magicWord = 'zzzTest'
>>> magicWord.startswith(('zzz', 'yyy', 'rrr'))
True
Lưu ý : startswith
mấtstr or a tuple of str
Xem tài liệu .
Cũng có thể được thực hiện theo cách này ..
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")