Как я могу получить двадцать один, как это < > а не как <<twenty>> <<one>> - PullRequest
0 голосов
/ 27 марта 2020
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)   

1 Ответ

0 голосов
/ 27 марта 2020

Вам нужно переставить скобки и добавить дополнительные пробелы:

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 "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...