[問題] 正則表達式-"\\."

作者: oldjojotenya (舊舅舅)   2014-12-10 18:44:38
[軟體熟悉度]:
魯肉腳
[問題敘述]:
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
作者: Wush978 (拒看低質媒體)   2014-12-10 18:54:00
因為\是跳脫字元,所以要兩個才代表一個
作者: andrew43 (討厭有好心推文後刪文者)   2014-12-10 19:07:00
因為 \ 在正規表示式是有特別功能的,所以 \\ 才是 \。
作者: oldjojotenya (舊舅舅)   2014-12-12 23:33:00
原來如此!謝謝!
作者: oldjojotenya (舊舅舅)   2014-12-12 23:33:00
原來如此!謝謝!
作者: andrew43 (討厭有好心推文後刪文者)   2014-12-19 19:07:00
沒全看明白你的意思。你可以舉一個例子?或自己測試?
作者: Edster (Edster)   2014-12-20 00:13:00
不曉得你有沒有試過把word中的表格,貼上記事本(notepad++)在notepad++中, 開啟檢視/特殊字元/顯示所有字元會看到 \t 表示類似定位點的分隔. 空一格的意思就有點像是word中的TAB鍵同樣, \n 則是用來表示換行. 印象中還有其他表示.這個規格在windows, Mac, Linux 系統各有相近又相異.也是如此, 在R中 要表示路徑的話. 都不會用 C:\ 而是 C:\\如前面個人講的, \\ 才會表示成一個 \應該是 \\ 才會表示成 /

Links booklink

Contact Us: admin [ a t ] ucptt.com