R语言 根据长度拆分字符串中的单词

mfuanj7w  于 2023-03-15  发布在  其他
关注(0)|答案(1)|浏览(157)

我有一个字符串

my_string <- "abcd 123 jkl 123 asdcxz qwelkj abcdef230212 xyz123 rtf234512"

我想使用拆分字符重新格式化长度超过6个字符的单词,例如:“_",从后面起正好6个空格,以接收以下字符串:

desired_string <- "abcd 123 jkl 123 asdcxz qwelkj abcdef_230212 xyz123 rtf_234512"

这可以用正则表达式或R中的任何其他字符串匹配系统来实现吗?我尝试过用for循环来实现,但这是一个非常缓慢和混乱的解决方案。

w8f9ii69

w8f9ii691#

my_string <- "abcd 123 jkl 123 asdcxz qwelkj abcdef230212 xyz123 rtf234512"

gsub("([^ ]+)([^ ]{6})", "\\1_\\2", my_string)
#> [1] "abcd 123 jkl 123 asdcxz qwelkj abcdef_230212 xyz123 rtf_234512"

创建于2023年3月8日,使用reprex v2.0.2

相关问题