5

我有大量数据,其中分隔符是反斜杠。我在 R 中处理它,我很难找到如何拆分字符串,因为反斜杠是元字符。例如,一个字符串看起来像这样:

1128\0019\XA5\E2R\366\00=15

我想沿着\字符分割它,但是当我运行 strsplit 命令时:

strsplit(tempStr, "\\")
Error in strsplit(tempStr, "\\") : 
  invalid regular expression '\', reason 'Trailing backslash'

当我尝试使用“固定”选项时,它不会运行,因为它在反斜杠之后期待一些东西:

strsplit(tempStr, "\", fixed = TRUE)

不幸的是,我不能用另一个程序预处理数据,因为数据是每天生成的。

4

3 回答 3

14

您的代码行是(尽管您没有明确说明):

strsplit(tempStr, "\\")

并且应该是

strsplit(tempStr, "\\\\")

这将读作“\\”,正则表达式将其理解为“\”。

于 2012-06-01T04:36:42.820 回答
3

我怀疑您的数据在某种文件中。如果是这种情况,则使用read.table但明确指定分隔符。例如,假设您的文件是:

a\b\c\d
e\f\g\h

然后要将其读入 R,请使用以下命令:

read.table("file.txt", sep="\\")
于 2012-06-01T08:52:39.920 回答
-1

尝试这个:

strsplit(tempStr, "\"")
于 2017-04-10T07:43:40.050 回答