gpt4 book ai didi

string - 在一串大小写字母的特定位置添加空格

转载 作者:行者123 更新时间:2023-12-05 08:43:51 24 4
gpt4 key购买 nike

亲爱的 stackoverflow 用户,

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

我一直在尝试修改如下字符串。

x <- "Marcus HELLNERJohan OLSSONAnders SOEDERGRENDaniel RICHARDSSON"

这个字符串中有四个人。姓氏是大写字母。四分之三的姓氏与名字保持一致(例如,HELLNERJohan)。我想用空格分隔姓氏和名字(例如,HELLNER Johan)。

我想我需要声明类似“选择大写字母序列,然后如果有小写字母,则在最后一个和倒数第二个大写字母之间添加空格后面的字母。”

下面的帖子可能有点相关,但我还没有写代码成功。

Splitting String based on letters case

非常感谢您的慷慨支持。

最佳答案

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

x <- "Marcus HELLNERJohan OLSSONAnders SOEDERGRENDaniel RICHARDSSON"
gsub("([[:upper:]])([[:upper:]][[:lower:]])", "\\1 \\2", x)
# "Marcus HELLNER Johan OLSSON Anders SOEDERGREN Daniel RICHARDSSON"

关于string - 在一串大小写字母的特定位置添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com