Julia正则表达式使下一个字符变为大写

时间:2018-09-30 20:07:27

标签: regex string julia

如何将字符串中每个单词的首字母大写?将\1\U\2用作replace()的一部分会引发错误:Bad replacement string。正则表达式是可取的,但也可以使用其他方式。这是我期望的工作,但是会出现错误:

test_string = "the quick brown fox jumps over the lazy dog"
replace(test_string, r"(^|\s)([a-z])" => s"\1\U\2")

2 个答案:

答案 0 :(得分:2)

您可以使用titlecase函数,如下所示:

julia> test_string = "the quick brown fox jumps over the lazy dog"
"the quick brown fox jumps over the lazy dog"

julia> titlecase(test_string, strict=false)
"The Quick Brown Fox Jumps Over The Lazy Dog"

对于更复杂的情况,您可以定义wordsep函数或将strict更改为true(默认设置)。

答案 1 :(得分:2)

这是另一个使用replaceuppercase和正则表达式的选项:

replace(test_string, r"(^|\s)([a-z])" => uppercase)