作者oldjojotenya (舊舅舅)
看板R_Language
標題[問題] 正則表達式-"\\."
時間Wed Dec 10 18:44:38 2014
[軟體熟悉度]:
魯肉腳
[問題敘述]:
coursera某篇在教strsplit的section:
>names(cameraData)
[1] "address" "direction" "street" "crossStreet" "intersection" "Location.1"
該篇教學內容主要目的是要透過strsplit將"Location.1"經由"."分離,因此要設正則
表達式:
splitNames = strsplit(names(cameraData), "\\.")
我不懂的地方在於,為何"\\"是兩個而不是一個,當我只用一個"\"的時候,會出現以下
警告:
>strsplit(names(cameraData), "\.")
錯誤: 在起始 ""\." 的字串中 '\.' 是無法辨識的跳脫字元
是否有好心大大可以解惑?謝謝
[關鍵字]:
regular expression
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.216.119
※ 文章網址: http://webptt.com/m.aspx?n=bbs/R_Language/M.1418208280.A.A1D.html
1F:→ Wush978: 因為\是跳脫字元,所以要兩個才代表一個 12/10 18:54
2F:→ andrew43: 因為 \ 在正規表示式是有特別功能的,所以 \\ 才是 \。 12/10 19:07
3F:→ oldjojotenya: 原來如此!謝謝! 12/12 23:33
4F:→ oldjojotenya: 其實還是不太懂,\的功能不就是要讓.的特殊意義消失 12/19 16:25
5F:→ oldjojotenya: 那如果用\讓\先消失其功能,那\\不就不能讓.消失其 12/19 16:26
6F:→ oldjojotenya: 特殊作用了? 12/19 16:26
7F:→ andrew43: 沒全看明白你的意思。你可以舉一個例子?或自己測試? 12/19 19:07
8F:推 Edster: 不曉得你有沒有試過把word中的表格,貼上記事本(notepad++) 12/20 00:13
9F:→ Edster: 在notepad++中, 開啟檢視/特殊字元/顯示所有字元 12/20 00:14
10F:→ Edster: 會看到 \t 表示類似定位點的分隔. 空一格的意思 12/20 00:14
11F:推 Edster: 就有點像是word中的TAB鍵 12/20 00:22
12F:→ Edster: 同樣, \n 則是用來表示換行. 印象中還有其他表示. 12/20 00:23
13F:→ Edster: 這個規格在windows, Mac, Linux 系統各有相近又相異. 12/20 00:24
14F:→ Edster: 也是如此, 在R中 要表示路徑的話. 都不會用 C:\ 而是 C:\\ 12/20 00:25
15F:→ Edster: 如前面個人講的, \\ 才會表示成一個 \ 12/20 00:26
16F:推 Edster: 應該是 \\ 才會表示成 / 12/20 00:30
17F:→ oldjojotenya: a大、E大,我似乎知道自己卡在哪了,也就是說,不管 12/29 21:37
18F:→ oldjojotenya: 是不是在regex中,\本來就有意思了,但是在strsplit 12/29 21:38
19F:→ oldjojotenya: 中,要餵給regex的必須要是\.,所以實際上要打\\.才 12/29 21:39
20F:→ oldjojotenya: 會是\.,@@,超感謝兩位大大詳細說明! 12/29 21:40