我有一个df,其中包含一个包含字符串值的列。其中一些字符串是字符和日期的组合,一些字符和数字的组合。在某些情况下,字符串将具有标点符号,例如“()”或“#”。在字符串中有这些类型的字符是完全可以的。这个df最终被写入excel文件。
我遇到的问题是,“STX”ASCII控制字符嵌入到其中一个字符串中,我似乎无法将其删除,这导致在数据写入Excel文件后打开Excel文件时出现问题。下面是该字符串的示例:
'值1/2:这个,那个,第三,随机STX值,随机2,值6'
我试过以下方法,但都没有成功:
str_replace_all(df$col, "[[:punct:]]", "")
iconv(df$col, "ASCII", 'UTF-8', sub = "")
字符串
有谁知道我怎么才能把它去掉吗?
1条答案
按热度按时间dw1jzc5e1#
你说你想从你的字符串中删除所有出现
STX
的字符。你可以用一个简单的
gsub
command(它所做的就是搜索模式或固定字符串(取决于fixed
参数值),并替换为替换模式或另一个固定字符串:字符串
什么是
\x02
?它是一个string escape sequence,其中\x
表示构造开始,接下来的两个字符被解释为十六进制数。fixed=TRUE
参数告诉R引擎将STX
字符作为文字字符搜索,而不是作为正则表达式模式搜索,这通常会带来更好的性能,并避免其他与正则表达式相关的问题,当您所需要的只是用另一个文字文本替换文字文本时。