有没有办法使用匹配大小写来选择字符串结尾/开头,如下所示?
match text_string:
case 'bla-bla':
return 'bla'
case .endswith('endofstring'):
return 'ends'
case .startswith('somestart'):
return 'start'
你很接近。您想要一个模式上有条件的guard。在以下情况下,仅匹配该值。
match text_string:
case 'bla-bla':
return 'bla'
case s if s.endswith('endofstring'):
return 'ends'
case s if s.startswith('somestart'):
return 'start'
与以下内容相比,这并没有多大好处。
if text_string == 'bla-bla':
return 'bla'
elif text_string.endswith('endofstring'):
return 'ends'
elif text_string.startswith('somestart'):
return 'start'
除非您也使用
match
并且想要区分两个相同的模式。