>而不喜欢<> <>,r"/>

首页 > 解决方案 > 我如何获得这样的二十一 <>而不喜欢<> <>

问题描述

stuff= c("my favoiet number is 23","zev is the best","i love 23,456", "twenty one", "10", "123,123,123" ,"dfghjklkjhgfghj",         
  "three is my numner" ,"this cost $1.23" , "roman numeral VI is awesome ")


WordNumber= "(one|two|three|four|five|six|seven|eight|nine|ten|
       eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty|
thirty|forty|fifty|sixty|seventy|eighty|ninety
hundred|thousand|million|billion|trillion)"  
gsub(WordNumber,"<<\\1>>" , stuff)   

标签: r

解决方案


您需要重新排列括号并添加可选空格:

WordNumber= "((?:(?:one|two|three|four|five|six|seven|eight|nine|ten|
       eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty|
thirty|forty|fifty|sixty|seventy|eighty|ninety
hundred|thousand|million|billion|trillion)\\s*)+)"  
gsub(WordNumber,"<<\\1>>" , stuff)   

这产生

[1] "my favoiet number is 23"      "zev is the best"             
[3] "i love 23,456"                "<<twenty one>>"              
[5] "10"                           "123,123,123"                 
[7] "dfghjklkjhgfghj"              "<<three >>is my numner"      
[9] "this cost $1.23"              "roman numeral VI is awesome "

推荐阅读