Проверьте, содержит ли строка подстроку. Кроме того, получить индекс и номер матча (Raku) - PullRequest
5 голосов
/ 25 марта 2020

FAQ: В Raku, как проверить, содержит ли String подстроку? Где и сколько раз? Я хотел бы 3 функции, такие как:

xxx-bool("az and az and az again", "az");  # True 
xxx-num("az and az and az again", "az");   # 3
xxx-list("az and az and az again", "az");  # (0 7 14) 

PS: подпрограммы index и rindex довольно крутые, но получают только одно совпадение.

Ссылки по теме:

1 Ответ

7 голосов
/ 25 марта 2020
  1. Чтобы проверить, содержит ли он, используйте .contains , чтобы получить Bool , который является крутым методом .
  2. Чтобы получить индексы (индексы псевдонимов: оба являются множественными числами индекса), используйте .indices
  3. Чтобы получить число, посчитайте индексы.
"az and az and az again".contains("az");        # True
"az and az and az again".indices("az").elems;   # 3
"az and az and az again".indices("az");         # (0 7 14)

PS: Обычные индексы описываются сразу после index и rindex . Так что читайте добро, делайте c, и читайте это хорошо; -)

...