首页 > 解决方案 > 使用多个正则表达式修改 data.table 内容

问题描述

我有一个dt = data.table带有字符的列。

我需要对该列执行多个正则表达式操作,我将其写为:

  dt[, Description := sapply(Description, tolower)][
      , Description := sapply(Description, gsub, pattern = " $", replacement = "")][
        , Description := sapply(Description, gsub, pattern = "  ", replacement = " ")][
          , Description := sapply(Description, gsub, pattern = "ões\\>", replacement = "ão")][
            , Description := sapply(Description, gsub, pattern = "eis\\>", replacement = "el")][
              , Description := sapply(Description, gsub, pattern = "as\\>", replacement = "a")][
                , Description := sapply(Description, gsub, pattern = "ais\\>", replacement = "al")][
                  , Description := sapply(Description, gsub, pattern = "es\\>", replacement = "e")][
                    , Description := sapply(Description, gsub, pattern = "ns\\>", replacement = "m")][
                      , Description := sapply(Description, gsub, pattern = "s\\>", replacement = "")]

这些基本上都是在葡萄牙语中将复数变为单数的所有方法。

有没有更有效和优雅的方式来做到这一点?

标签: rregexdata.table

解决方案


推荐阅读