Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在大写和小写字母字符串中的特定位置添加空格_String_R_Gsub - Fatal编程技术网

String 在大写和小写字母字符串中的特定位置添加空格

String 在大写和小写字母字符串中的特定位置添加空格,string,r,gsub,String,R,Gsub,亲爱的stackoverflow用户: 许多人遇到需要修改字符串的情况。我见过很多 与字符串修改相关的帖子。但是,我还没有找到我正在寻找的解决方案 对于我相信我的帖子会对其他面临类似问题的R用户有用 挑战。我想从熟悉字符串的R用户那里寻求一些帮助 修改 我一直在尝试修改一个字符串,如下所示 x <- "Marcus HELLNERJohan OLSSONAnders SOEDERGRENDaniel RICHARDSSON" x这是通过查找和捕获两个连续的子模式来实现的,第一个由一个大写

亲爱的stackoverflow用户:

许多人遇到需要修改字符串的情况。我见过很多 与字符串修改相关的帖子。但是,我还没有找到我正在寻找的解决方案 对于我相信我的帖子会对其他面临类似问题的R用户有用 挑战。我想从熟悉字符串的R用户那里寻求一些帮助 修改

我一直在尝试修改一个字符串,如下所示

x <- "Marcus HELLNERJohan OLSSONAnders SOEDERGRENDaniel RICHARDSSON"

x这是通过查找和捕获两个连续的子模式来实现的,第一个由一个大写字母(姓氏的末尾)组成,第二个由一个大写字母和一个小写字母组成(用来表示名字的开头)。无论在哪里找到这两个组,它们都会被捕获并由它们自己替换为一个空格(下面调用中的
“\\1\\2”


x如果要将向量分离为名称向量,这将使用具有零宽度lookbehind和lookbeahead断言的正则表达式拆分字符串

strsplit(x, split = "(?<=[[:upper:]])(?=[[:upper:]][[:lower:]])", 
  perl = TRUE)[[1]]
# [1] "Marcus HELLNER"     "Johan OLSSON"       "Anders SOEDERGREN" 
# [4] "Daniel RICHARDSSON"

strsplit(x,split=“(?滑雪迷,嗯?去瑞典!与“马库斯”一起的姓是什么?@RScriv等@RichScriven NAThank非常感谢你Josh。现在我又学到了一件关于字符串修改的事情。非常感谢你,Blue。最后,我需要提取每个名字。因此你的建议非常有用!
strsplit(x, split = "(?<=[[:upper:]])(?=[[:upper:]][[:lower:]])", 
  perl = TRUE)[[1]]
# [1] "Marcus HELLNER"     "Johan OLSSON"       "Anders SOEDERGREN" 
# [4] "Daniel RICHARDSSON"