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)
解决方案
您需要重新排列括号并添加可选空格:
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 "
推荐阅读
- angular - 将列表分配给订阅方法内的下拉列表
- node.js - 如何在本地访问 Docker 容器应用程序?
- c# - AZURE_FUNCTIONS_ENVIRONMENT 与 ASPNETCORE_ENVIRONMENT
- java - 为什么带有交叉表输出到 excel 的 JasperReport 会因大量列而失败?
- python - 如何获得图像中单个蒙面细胞强度的直方图?
- spring-boot - 带有 TaskListener @Autowired 问题的 Alfresco Process Services
- azure - 如何通过 Azure REST API 请求访问我的 AAD/Application Insights 应用程序的 IP/主机名?
- c# - 如何在不停止的情况下多次执行一个couroutine?
- google-cloud-platform - terraform(0.11 和 0.12)适用于一台机器,但不适用于另一台机器
- python - 在python中返回一个字符串