html - 使用正则表达式从 R 中删除不需要的 html 标签
问题描述
我有以下字符串:
aaa<-"\n \n 267 Oberlin St.\n \n New York, New York\n \n US, 10018\n \n "
我怎样才能摆脱\n
和空白的空间?
我尝试了以下方法:
str_replace_all(aaa, "[\n]", "")
[1] "
267 Oberlin St. New York, New York US, 10018
str_replace_all(aaa, " ", "")
[1] "\n\n267OberlinSt.\n\nNewYork,NewYork\n\nUS,10018\n\n"
str_replace_all(aaa, "[ \n ]", "")
[1] "267OberlinSt.NewYork,NewYorkUS,10018"
我正在寻找的是以下内容:
"267 Oberlin St. New York, New York US, 10018"
解决方案
如果我们假设您需要删除任何 0+ 空格后跟一个换行符,然后是 3 个或更多空格,您可以使用
> trimws(gsub(" *\n {3,}", " ", aaa))
[1] "267 Oberlin St. New York, New York US, 10018"
或者,更准确一点,可以重复换行 + 3 或更多空格模式:
> trimws(gsub(" *(?:\n {3,})+", " ", aaa))
[1] "267 Oberlin St. New York, New York US, 10018"
图案细节
*
- 0 个或多个空格(?:\n {3,})+
- 匹配 1 个或多个重复项的非捕获组:\n
- 换行符{3,}
- 3 个或更多空间
要匹配任何水平空格,您可以将模式中的文字空格替换为[[:blank:]]
,或者\h
添加perl=TRUE
.
推荐阅读
- python - 如何通过 Python 3 中的真实数据点绘制平滑曲线?
- php - 缺少必需的参数
- javascript - ESlint javascript config - 删除数组中第一个对象之前的新行
- swiftui - SwiftUI 3在PageTabView中垂直滚动
- pine-script - 仅显示“无数据”的 Pinescript 简短策略
- reactjs - 使用 ref 和 useCallback 访问时,React 中子组件的状态会更改并正确地进行控制台,但使用点符号进行控制台时则不会
- security - 使用 Vaadin 8、JBoss EAP 7.0、Firefox 浏览器获取 URL /VAADIN/* 的目录列表问题
- php - 在第一次请求时选择加入 CH 标头
- android - Android,如何为自定义视图定义默认样式
- wordpress - Owl2 滑块导航栏