簡體   English   中英

用R中的連字符替換非ascii破折號

[英]Replacing non-ascii dash with hyphen in R

我正在將 XML 文件讀入具有不同格式的 R 中。 我使用 UTF-8 編碼閱讀它們。 我無法替換看起來像“-”的非 ascii 負號。 我不能簡單地刪除非 ascii 字符,因為我想保留負號。 所以下面的 gsub 不起作用,我已經嘗試了很多不同的模式選項。

in_text = "<td align=\"left\" rowspan=\"1\" colspan=\"1\">−0.68 (1.04)</td>"
gsub(pattern='−', replacement='-', in_text)
<td align=\"left\" rowspan=\"1\" colspan=\"1\">−0.68 (1.04)</td>

我可以看到它們是非 ASCII:

tools::showNonASCII(in_text)
<td align="left" rowspan="1" colspan="1"><e2><88><92>0.68 (1.04)</td>

您在問題中發布的內容似乎實際上沒有非 ascii 字符。 我認為您的來源與此相符

in_text = "<td align=\"left\" rowspan=\"1\" colspan=\"1\">\u22120.68 (1.04)</td>"
in_text
# [1] "<td align=\"left\" rowspan=\"1\" colspan=\"1\">−0.68 (1.04)</td>"

字符"\−"似乎與您從tools::showNonASCII獲得的輸出相匹配。 因此,如果您在替換中使用該轉義字符,它應該可以正常工作

gsub(pattern='\u2212', replacement='-', in_text)
# [1] "<td align=\"left\" rowspan=\"1\" colspan=\"1\">-0.68 (1.04)</td>"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM