Большинство функций stringr
- это всего лишь обертки вокруг соответствующих функций stringi
. str_replace_all
- один из тех. Однако мой код не работает с stri_replace_all
, соответствующей функцией stringi
.с использованием захваченных групп в str_replace/stri_replace - stringi vs stringr
Я пишу быстрое регулярное выражение для преобразования (подмножество) верблюжьего случая на разнесенные слова.
Я очень озадачен, почему это работает:
str <- "thisIsCamelCase aintIt"
stringr::str_replace_all(str,
pattern="(?<=[a-z])([A-Z])",
replacement=" \\1")
# "this Is Camel Case ain't It"
И это не делает:
stri_replace_all(str,
regex="(?<=[a-z])([A-Z])",
replacement=" \\1")
# "this 1s 1amel 1ase ain't 1t"
Одним из вариантов было бы 'stri_replace_all (строка, регулярное выражение = "(? <= [А-г]) (? = [A-Z])", замена =» «)' – akrun