r - 仅在 R 中的边界内替换特定字符
问题描述
如何仅在特定字符伴随其他字符时才替换特定字符而不消除后者?
例如
x <- "Elena has u$s 10,000. She's married.But she's not happy.Her husband's not happy either."
gsub("([a-z])\\.+([A-Z])", ". ", x)
#[1] "Elena has u$s 10,000. She's marrie. ut she's not happ. er husband's not happy either."
这样我就失去了点之前的字符和点之后的字符
我希望我的结果如下:
#[1] "Elena has u$s 10,000. She's married. But she's not happy. Her husband's not happy either."
解决方案
我们可以使用积极的前瞻正则表达式。
gsub("([a-z]\\.)(?=[A-Z])", "\\1 ", x, perl = TRUE)
#[1] "Elena has u$s 10,000. She's married. But she's not happy. Her husband's not happy either."
推荐阅读
- java - Java 仅填充最后一个 if 语句
- python - 为什么这个 str.join() 不能正确循环?
- php - 如何使用动态链接创建 php 短代码?
- python-3.x - 在python中意外退出之前使函数返回数据
- c# - Visual Studio 中 Razor 页面的脚手架文件
- api - 通过 API 提交对 MS Forms 的响应
- c++ - 具有多个重载的“使用”关键字
- computation-theory - 如何将此描述翻译成语言?
- javascript - “IntrinsicAttributes & MapContainerProps”类型上不存在属性“onClick”
- mysql - Docker 撰写:带有 NodeJS 的 MySQL“错误:连接 ECONNREFUSED”