You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中如何将字符串内的序数数字转换为英文序数单词?

R语言实现序数数字字符串转英文序数单词

可以通过english包结合字符串处理函数实现需求,具体步骤如下:

  • 首先安装并加载所需包:

    # 安装依赖包(首次使用时执行)
    install.packages(c("english", "stringr"))
    
    # 加载包
    library(english)
    library(stringr)
    
  • 定义转换函数,完成数字提取、序数转换和字符串替换:

    convert_ordinal_str <- function(input_str) {
      # 提取字符串中的数字部分
      num_match <- str_extract(input_str, "\\d+")
      num <- as.integer(num_match)
      # 将数字转为序数英文并转大写
      ordinal_word <- toupper(as.character(english(num, ordinal = TRUE)))
      # 替换原字符串中的序数数字标识(匹配ST/ND/RD/TH结尾的数字部分)
      str_replace(input_str, paste0(num_match, "(ST|ND|RD|TH)"), ordinal_word)
    }
    
  • 测试示例输入:

    string1 <- c("1ST COMPANY", "21ST LIBRARY")
    string2 <- sapply(string1, convert_ordinal_str, USE.NAMES = FALSE)
    
    # 查看结果
    string2
    

运行后会得到预期输出:

[1] "FIRST COMPANY"       "TWENTY-FIRST LIBRARY"

内容的提问来源于stack exchange,提问作者James Rider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:10:57