楼主: bluesmoonlight
18374 6

[问答] R: 如何匹配一个反斜杠"\" [推广有奖]

  • 0关注
  • 0粉丝

硕士生

96%

还不是VIP/贵宾

-

威望
0
论坛币
124 个
通用积分
3.2444
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
14758 点
帖子
180
精华
0
在线时间
219 小时
注册时间
2012-12-4
最后登录
2025-2-6

楼主
bluesmoonlight 发表于 2014-6-10 16:13:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
清理数据,要把反斜杠"\"换成"/".

试了一下,匹配两个反斜杠是没问题的,如下
> str_detect(tmp,"\\\\")   


匹配一个反斜杠, 试了
> str_detect(tmp,"\\")
Error in grepl("\\",c( balabala...:
    invalid regular expression '\' ,  reason 'Trailing backslash'  

再试:
> str_detect(tmp,"\\\")
+ >
难道提示我没输入完整??
各种凌乱中...

求指点, 谢谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:反斜杠 Expression trailing invalid express 字符串匹配 反斜杠

本帖被以下文库推荐

沙发
bluesmoonlight 发表于 2014-6-10 16:24:43
继续凌乱:

刚才去查了一下,所有找到的两个反斜杠,在数据库里面原本就是一个反斜杠...

求指点一下关于反斜杠的怪异表现吧~~

藤椅
yywan0913 在职认证  发表于 2014-6-11 08:37:22
bluesmoonlight 发表于 2014-6-10 16:24
继续凌乱:

刚才去查了一下,所有找到的两个反斜杠,在数据库里面原本就是一个反斜杠...
R里面  默认会将一个\   转义成两个\\
   匹配的时候 由于是元字符,又得两个\\进行转义,所以需要四个\\\\
   

若原文件是两个\\,则需八个\



已有 1 人评分经验 收起 理由
李会超 + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

板凳
playmore 发表于 2014-6-11 08:55:07
在R里,\\就是\,其中第一个反斜杠是用来转义的

你如果在R里想给一个变量赋路径名称,其中的\要写成\\,否则会出错

另外如果你导入一个文件,里面有变量含有\,则在R里还是显示为\\
但在匹配的时候,还是要用\\转义,并且要加[],如下所示
str_detect(tmp,"[\\]")
gsub("[\\]","/",tmp)

你试试,这样就行了。只不过我觉得这种转义之后还要加[]算是一大bug,stackoverflow上有人问过,见下
http://stackoverflow.com/questio ... pe-a-backslash-in-r
已有 1 人评分经验 论坛币 收起 理由
李会超 + 80 + 20 精彩帖子

总评分: 经验 + 80  论坛币 + 20   查看全部评分

报纸
马甲1号 发表于 2014-6-11 10:11:36
R和python比还是不方便, 不支持python在字符串前面加r这种方式, 搞得正则表达式非常难写. 希望那天开发R的人把python的字符串功能移植过去, 比如r", 比如""", 比如u"...

地板
bluesmoonlight 发表于 2014-6-11 13:24:42
学习了,谢谢

7
H_灰灰 发表于 2014-6-13 15:40:30
bluesmoonlight 发表于 2014-6-11 13:24
学习了,谢谢
您好,请问如何安装oracle R Enterprise呢?如果可以的话请求指导,我的QQ是651475831,谢谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 07:50