gpt4 book ai didi

r - 使用 R 检测字符串中两个连续的 "Proper Case"单词

转载 作者:行者123 更新时间:2023-12-01 12:19:10 24 4
gpt4 key购买 nike

一段时间以来,我一直在为这个问题绞尽脑汁。我正在尝试在 R 中进行一些文本挖掘,并希望尝试对由多个单词组成的名称、地点和组织进行分类。出于此任务的目的,我只查看字符串中以大写字母开头的连续单词。

示例字符串:

origString <- 'The current president of the United States is Donald Trump'

有没有办法在这个字符串中找到以大写字母开头的单词并将它们组合在一起以返回类似这样的内容?

newString <- 'The current president of the UnitedStates is DonaldTrump'

如果您能提供任何帮助,我们将不胜感激。

最佳答案

以下解决方案适用于一次包含两个单词的组:

origString <- 'The current president of the United States is Donald Trump'
gsub('([A-Z]\\w*?)\\s+([A-Z]\\w*)', '\\1\\2', origString)

输出:

[1] "The current president of the UnitedStates is DonaldTrump"

此处演示:

Rextester

更新:

以下脚本适用于任意数量的簇状大写单词。它需要一个解决方法/hack,因为 gsub() 使用的正则表达式风格,即使在 Perl 模式下,也不支持可变长度后视。这里的策略是有选择地删除出现在两个或多个组中的所有大写单词之间的空格

origString <- 'The current president of the United States Donald Trump'
temp <- gsub('([A-Z]\\w*)', '\\1\\$MARK\\$', origString)
output <- gsub('(?<=\\$MARK\\$)\\s+(?=[A-Z])', '', temp, perl=TRUE)
output <- gsub('\\$MARK\\$', '', output)
output

[1] "The current president of the UnitedStatesDonaldTrump"

Demo

关于r - 使用 R 检测字符串中两个连续的 "Proper Case"单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45753356/

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