将 HTML 实体转换为正确的字符 R

2023-11-30

有谁知道 r 中可以转换的通用函数ä为其 unicode 字符â?我见过一些函数â,并将其转换为普通字符。任何帮助,将不胜感激。谢谢。

编辑:下面是一条数据记录,我可能有超过100万条记录。除了将数据读入大量向量并针对每个元素更改记录之外,还有更简单的解决方案吗?

wine/name: 1999 Domaine Robert Chevillon Nuits St. Georges 1er Cru Les Vaucrains
wine/wineId: 43163
wine/variant: Pinot Noir
wine/year: 1999
review/points: N/A
review/time: 1337385600
review/userId: 1
review/userName: Eric
review/text: Well this is awfully gorgeous, especially with a nicely grilled piece of Copper River sockeye. Pine needle and piercing perfume move to a remarkably energetic and youthful palate of pure, twangy, red fruit. Beneath that is a fair amount of umami and savory aspect with a surprising amount of tannin. Lots of goodness here. Still quite young but already rewarding at this stage.

wine/name: 2001 Karthäuserhof Eitelsbacher Karthäuserhofberg Riesling Spätlese
wine/wineId: 3058
wine/variant: Riesling
wine/year: 2001
review/points: N/A
review/time: 1095120000
review/userId: 1
review/userName: Eric
review/text: Hideously corked!

更新: 使用函数 stri_trans_general 函数将转换任何Â为正确的小写字符,并且需要分配 vapply 结果以保存更改。

#cellartracker-10records is the test file to use  
 tester <- "/Users/petergensler/Desktop/Wine Analysis/cellartracker-10records.txt"
 decode <- function(x) {   xmlValue(getNodeSet(htmlParse(tester), "//p")[[1]]) }

#Using vector, as we want to iterate over the raw file for cleaning
poop <- vapply(tester, decode, character(1), USE.NAMES = FALSE)

#Now use stringi to convert all characters to correct characters poop           
poop <- stringi::stri_trans_general(poop, "Latin-ASCII")
writeLines(poop, "wines.txt")

这是一种通过XML包裹:

txt <- "wine/name: 2003 Karth&#228;userhof Eitelsbacher Karth&#228;userhofberg Riesling Kabinett"

library("XML")
xmlValue(getNodeSet(htmlParse(txt, asText = TRUE), "//p")[[1]])

> xmlValue(getNodeSet(htmlParse(txt, asText = TRUE), "//p")[[1]])
[1] "wine/name: 2003 Karthäuserhof Eitelsbacher Karthäuserhofberg Riesling Kabinett"

The [[1]]有点是因为getNodeSet()返回已解析元素的列表,即使只有一个元素,就像这里的情况一样。

这是从一个获取/修改的回复 Henrique Dallazuanna 的 R-帮助列表在2010年。

如果你想对长度>1的字符向量运行这个,那么lapply() this:

txt <- rep(txt, 2)
decode <- function(x) {
  xmlValue(getNodeSet(htmlParse(x, asText = TRUE), "//p")[[1]])
}
lapply(txt, decode)

或者如果你想要它作为向量,vapply():

> vapply(txt, decode, character(1), USE.NAMES = FALSE)
[1] "wine/name: 2003 Karthäuserhof Eitelsbacher Karthäuserhofberg Riesling Kabinett"
[2] "wine/name: 2003 Karthäuserhof Eitelsbacher Karthäuserhofberg Riesling Kabinett"

对于多行示例,请使用原始版本,但如果您希望再次将其作为多行文档,则必须将字符向量写回到文件中:

txt <- "wine/name: 2001 Karth&#228;userhof Eitelsbacher Karth&#228;userhofberg 
Riesling Sp&#228;tlese
wine/wineId: 3058
wine/variant: Riesling
wine/year: 2001
review/points: N/A
review/time: 1095120000
review/userId: 1
review/userName: Eric
review/text: Hideously corked!"

out <- xmlValue(getNodeSet(htmlParse(txt, asText = TRUE), "//p")[[1]])

这给了我

> out
[1] "wine/name: 2001 Karthäuserhof Eitelsbacher Karthäuserhofberg \nRiesling Spätlese\nwine/wineId: 3058\nwine/variant: Riesling\nwine/year: 2001\nreview/points: N/A\nreview/time: 1095120000\nreview/userId: 1\nreview/userName: Eric\nreview/text: Hideously corked!"

如果你写出使用writeLines()

writeLines(out, "wines.txt")

您将获得一个文本文件,可以使用其他解析代码再次读入该文件:

> readLines("wines.txt")
 [1] "wine/name: 2001 Karthäuserhof Eitelsbacher Karthäuserhofberg "
 [2] "Riesling Spätlese"                                            
 [3] "wine/wineId: 3058"                                            
 [4] "wine/variant: Riesling"                                       
 [5] "wine/year: 2001"                                              
 [6] "review/points: N/A"                                           
 [7] "review/time: 1095120000"                                      
 [8] "review/userId: 1"                                             
 [9] "review/userName: Eric"                                        
[10] "review/text: Hideously corked!"

这是一个文件(来自我的 BASH 终端)

$ cat wines.txt 
wine/name: 2001 Karthäuserhof Eitelsbacher Karthäuserhofberg 
Riesling Spätlese
wine/wineId: 3058
wine/variant: Riesling
wine/year: 2001
review/points: N/A
review/time: 1095120000
review/userId: 1
review/userName: Eric
review/text: Hideously corked!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 HTML 实体转换为正确的字符 R 的相关文章

  • 如何从表格的下拉菜单中删除先前选择的选项?

    我正在 Angular 7 上制作一个项目 它有一个表格 其中有一列有下拉菜单 下拉列表包含各种语言 当在特定行中选择一种语言时 它不应出现在后续行的下拉列表中 我怎么做 我尝试使用 splice 从数组中删除所选语言 但是 当它删除对象时
  • 通过移动地址栏时,视差背景图像在移动设备上改变大小

    一周以来 我的视差元素一直在碰壁 寻求帮助对我来说是最后的手段 我已经在各种论坛上寻找这些问题的解决方案 但我尝试过的都没有效果 only在移动设备上 chrome 如果您按住触摸屏并继续向下滚动 则在初始屏幕图像之后 会出现一个白条 屏幕
  • 有条件地将可选组替换为 gsub

    一位用户问我如何做到这一点如何使 ggplot 图例中的选定单词变为斜体 https stackoverflow com questions 76054997 how to italicize select words in a ggplo
  • 在哪里指定图像尺寸以实现最快渲染:在 HTML 中还是在 CSS 中?

    我了解到 明确指定图像尺寸是最佳实践 然后 浏览器可以在仍然下载图像本身的同时布局页面 从而缩短 感知的 页面渲染时间 这是真的 如果是这样 在 HTML 或 CSS 中指定尺寸是否有区别 HTML img src width 200 he
  • 将阿拉伯文本分配给 R 变量

    R 无法正确显示阿拉伯文本 当我使用阿拉伯语时 我得到了非常奇怪的东西 这是一个屏幕截图 问题是我想创建一个带有阿拉伯文本的词云 我需要首先解决这个问题 R 版本 R 2 15 2 GUI 1 53 Leopard 版本 64 位 6335
  • 在 JavaScript 中从字符串的开头到结尾删除 HTML 内容组

    我需要一个可以从头到尾删除完整标签的正则表达式 例如 对于给定的字符串 var str Hello World 我需要一个输出 Hello World with full script tag including inner content
  • 将文本置于圆形按钮上居中

    我想创建一个按钮圆形链接 其中包含文本 但我在将文本置于圆形按钮内居中时遇到问题 行高太大 对这个问题有什么建议吗 这是代码 https jsfiddle net hma443rL https jsfiddle net hma443rL b
  • IE6 CSS 显示:表格修复?

    我正在开发一个网络应用程序 不幸的是它必须与有史以来最糟糕的软件一起工作 是的 即 ie6 我真的很喜欢CSSdisplay table and display table cell属性 但当然它在 ie 中不起作用 有没有人找到解决这个问
  • mediaelement.js 视频无法在 IE8 中播放

    我已经浏览了这里提出的所有其他问题 但没有什么能真正解决我的问题 目前 视频可以在 Chrome Safari FF 和 IE9 中加载和播放 但不能在 IE8 中加载 这是我需要支持的最后一个浏览器 您可以查看页面here http 20
  • 将 DIV 扩展到父列表项之外

    我有一个有序列表 它实际上是页面上产品的显示 在每个列表项中 li 有一些内容 后面跟着一个div在关闭列表项之前包含更多内容 我需要每个列表项中的 div 扩展 其宽度 超出其父列表项 并实际填充有序列表的宽度 ol 每个 div 还需要
  • IFrame 内容交换错误?

    我有一个包含许多 iframe 的网页 包括第三方 iframe 例如广告感知和各种共享按钮 在 Firefox 中 我注意到这些 iframe 的内容有时会被交换 这样您就会在另一个 iframe 所在的位置看到广告感知广告 iframe
  • 为什么安装的“igraph”包在加载后返回“libicui18n.so.58:无法打开共享对象文件”?

    我试图使用命令 install packages igraph 在 R 中安装 igraph 包 安装后 在测试阶段出现以下错误 测试是否可以加载已安装的包错误 包或命名空间 dyn load file DLLpath DLLpath 中的
  • 如何制作 HTML/CSS/JS 变色背景(如 Kahoot.it 那样)

    如何使用 html 和 css 以及可能的 javascript 制作类似于 waht 的颜色变化 褪色背景https kahoot it https kahoot it has 你应该学会检查和获取 keyframes bgcolor 0
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • 为什么 rbind 会抛出警告

    这与是否有更优雅的方法将不规则的数据转换为整洁的数据框 https stackoverflow com questions 25102617 are there more elegant ways to transform ragged d
  • 如何在网格视图的单元格中插入换行符?

    我想知道如何在网格视图的单元格中添加换行符 现在 我把 1 1 1 然而 这呈现为 1 1 1 如何修复换行符 以便每个数字显示在自己的行上 Add HtmlEncode False to asp BoundField并且在正文中 应该有
  • 用于更改向量中元素顺序的闪亮小部件

    在很多网站上 您都有一个拖放界面来更改列表中元素的顺序 我正在寻找类似的东西闪亮 我希望用户能够拖放列表中的元素 通过更改顺序来更改优先级 现在我有一个滥用的解决方案selectizeInput 这是可行的 但当选择列表变得更大时 它很快就
  • KineticJS - 将舞台缩放到视口

    我正在努力将默认分辨率设置为 1366x756 我会根据视口来放大和缩小它 类似于此处显示的示例 http blogs msdn com b davrous archive 2012 04 06 modernizing your html5
  • 为什么这个 CSS nowrap 不起作用?

    我试图阻止 bar top container div 包裹它的内容 无论页面有多宽 即两个选择应该始终出现在同一行 但是当页面宽度太小而无法容纳它们时 这不起作用一方面 我该如何解决这个问题 Styles bar top containe
  • 使用后代选择器的响应式网站

    我试图使用媒体查询使我的网站响应 但是当我在代码的某些部分使用后代选择器时 页面没有响应 当我使用此代码时 该页面是响应式的 div1 float left width 20 height 200px background color re

随机推荐

  • 使用实体框架自动编号

    我想循环遍历对象集合并将它们全部添加到表中 目标表有一个自动增量字段 如果我添加单个对象就没有问题 如果我添加两个主键都为零的对象 实体框架将失败 我可以手动指定主键 但尝试 EF 的全部目的是让生活更轻松 而不是更复杂 这是代码 收到的异
  • 检查更新查询是否成功[PHP,mysqli] [重复]

    这个问题在这里已经有答案了 我正在使用 PHP 和 mysqli 该程序正在做的是 如果在它设置密码的数据库中找到电子邮件添加和重置代码 它会要求重置代码和电子邮件地址 这部分功能正在工作 我需要这部分的帮助 我需要做的是告诉用户是否设置了
  • 是否可以强制 MapKit 显示所有注释而不进行聚类?

    我有两个类都符合MKAnnotation 我想知道有没有办法强制MapKit当用户缩小并显示所有注释时不聚集注释 上述解决方案对我不起作用 但是这个解决方案有效 final class CarPinMarkerView MKMarkerAn
  • Firefox 中图像顶部显示“提交查询”的图像按钮

    我的项目在 IE 和 Chrome 中都能正确显示 然而 在 FF 中 由于某种原因 图像按钮在其顶部显示 提交查询 我正在 CSS 中设置图像位置 它绝对是正确的 因为它在所有浏览器中都能正常工作 只是 FireFox 出于某种原因将 提
  • 使用 jquery 替换通配符文本

    我有一个包含公司信息 地址 电话等 的数据库 某些电话号码有国际代码 44 0 123 12345 其中 0 的数字因国家 地区而异 我需要去掉 0 我有以下代码 var el contactdetails el html el html
  • 错误:java.lang.NullPointerException:尝试调用虚拟方法“android.content.res.XmlResourceParser”

    我收到此错误 我是 android studio 的新手 我需要为 Unity 创建此插件以在运行时安装 apk 错误 尝试在空对象引用上调用虚拟方法 android content Context Android content Cont
  • 使用 XPath,如何根据节点的文本内容和属性值选择节点?

    给定这个 XML
  • 鼠标事件不会更新 winform 中的相机旋转

    我的应用程序有一个自定义面板 用于在 WinForm 中显示 XNA 屏幕 我目前已经展示了一个没有问题的测试模型 现在正在研究相机移动 我的相机是一个免费相机 不受任何特定目标的约束 但我一直无法让鼠标更新相机在其自身轴上的偏航和俯仰 我
  • Java 中的两个类之间如何使用接口进行通信?

    嗨 我一直在这里阅读一些类似的主题 但没有一个回答我的问题 有人说你甚至不能这样做 这不是一件好事 因为在这种情况下我无法完成我的课程 这是一些简单的代码 将每个块视为一个单独的类 public interface Interface vo
  • 在 R 中循环文件

    我正在使用 R 来计算文件中列的平均值 如下所示 R file1 read table x01 mean file1 V4 然而 我没有构建涉及 R 的循环的经验 仅使用 bash 我如何将其转换为一个循环 对文件夹中的每个文件执行此操作
  • file_get_contents() 是否使用缓存?

    如果我写 mypage file get contents www mywebsite com mypage htm 我第一次运行该脚本时 file get contents 肯定会向 www mywebsite com 发出 mypage
  • 学习 C++ 语言 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我是一名 net c 程序员 但我也想学习 NET C 我是 c 的初学者 有没有从初学者到专家的网站 书籍或视频教程 不存在 Net c 这样的东西 也许你的意思是C CLI 这是
  • 混合模式 C++/CLI 性能注意事项 - 最佳实践

    我有一个 C CLI 库 它调用许多本机 C 方法 我读过许多线程 指出不应混合托管和非托管代码 我找不到任何说明如何避免这些开关以及为什么它会导致性能问题的信息 有人可以分享最佳实践吗 使用 C CLI 的唯一原因是它支持混合托管代码和本
  • 如何每次迭代增加一个字母 N 次并存储在数组中?

    letter array for i A i ZZ i letter i print r letter 从上面的脚本我做了一个循环A B C D ZZ 现在 我想把它变成A C E G I ZZ 2步骤而不是1 我需要指导才能做到这一点 这
  • 在 Firebase 中加入两个节点

    我正在开发一个应用程序 它应该显示来自两个节点 Firebase 的数据 Firebase DB 的结构如下 College 4F2EAB65 id 4F2EAB65 name SomeCollege A3C2ED31 id A3C2ED3
  • pandas:将DataFrame最后一行除以第一行

    这个问题类似于Python Pandas 按第一行划分 DataFrame 我有一个数据框 如下所示 1125400 5430095 1095751 2013 04 02 98 91 NaN 5626 79 2013 04 03 99 29
  • 从 Java 执行 EXE 并从 EXE 获取输入和输出

    我有一个EXE file addOne exe它不断地从控制台上的用户输入一个整数 不是命令行参数 并输出整数 1到控制台上 示例输出如下所示 1 2 6 7 29 30 我正在尝试编写一个java程序 它可以 Run the EXE 不断
  • Swift 2 错误处理问题

    我正在使用 REST 获取 JSON 数据 然后解析它 为此 我使用 NSJSONObjectWithData 据我所知 该方法过去在其参数内有一个错误处理程序 但它不再存在 在我的代码中 let err NSError let optio
  • 自定义 Spring Security 应用程序中的无限循环

    我们尝试用现有的 Spring Security Basic Login 替换开源应用程序中的 REST API 以实现使用令牌的自定义登录 我读过这篇关于该主题的博文 http javattitude com 2014 06 07 spr
  • 将 HTML 实体转换为正确的字符 R

    有谁知道 r 中可以转换的通用函数 228 为其 unicode 字符 我见过一些函数 并将其转换为普通字符 任何帮助 将不胜感激 谢谢 编辑 下面是一条数据记录 我可能有超过100万条记录 除了将数据读入大量向量并针对每个元素更改记录之外