gpt4 book ai didi

regex - 特殊字符后的首字母大写

转载 作者:行者123 更新时间:2023-12-01 05:04:11 25 4
gpt4 key购买 nike

我想删除多余的空格,如果需要添加空格并使用 R 将特殊字符后的每个单词的第一个字母大写

string <- "apple,banana, cat, doll and donkey;     fish,goat"

我想输出为
Apple, Banana, Cat, Doll and donkey; Fish, Goat

我试过
gsub("(^.|,.|;.)", "\\U\\1", string, perl=T, useBytes = F)

它没有用。请帮忙

最佳答案

您可以使用

string <- "apple,banana, cat, doll and donkey;     fish,goat"
trimws(gsub("(^|\\p{P})\\s*(.)", "\\1 \\U\\2", string, perl=T))
## => [1] "Apple, Banana, Cat, Doll and donkey; Fish, Goat"

this IDEONE demo

PCRE 正则表达式匹配:
  • (^|\\p{P}) -(第 1 组)字符串开头或任何标点符号
  • \\s* - 0 个或多个空白符号
  • (.) -(第 2 组)除换行符以外的任何字符

  • 更换:
  • \\1 - 反向引用组 1
  • - 在标点符号和下一个字符之间或字符串开头插入一个空格
  • \\U\\2 - 将第 2 组字符变为大写

  • trimws删除我们用正则表达式添加的初始空间。

    关于regex - 特殊字符后的首字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34135647/

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