Perl6有一个检查子串匹配的方法吗?

Ste*_*nus 7 string substring perl6

如何检查Perl中的子串匹配?

index方法返回一个Int:

"abc".index("b")
1
Run Code Online (Sandbox Code Playgroud)

使用defined,结果可以变成Bool:

"abc".index("b").defined
True
Run Code Online (Sandbox Code Playgroud)

这是惯用的方式还是有另一种方法返回Bool

Bra*_*ert 12

方法是.contains.

say 'abc'.contains('b');  # True
Run Code Online (Sandbox Code Playgroud)

还有.starts-with.ends-with.

say 'abc'.starts-with('c'); # False
say 'abc'.starts-with('a'); # True

say 'abc.txt'.ends-with('.txt') # True
Run Code Online (Sandbox Code Playgroud)

您可以查看Str文档以获取更多方法.