GSUB

2013-08-30 2 views
16

나는 하나의 두 점을 교체하려면 다음 코드를 사용하려고 해요으로 문자열에 두 개의 점을 교체 대괄호 []를 포함하여 이스케이프 문자열은 성공하지 못합니다.
내가 뭘 잘못하고 있니? '당신에게 .은 특별한 의미 (모든 문자)가, 정규 표현식 (fixed = FALSE) 내에서, 그렇지 않으면GSUB

> gsub("..", ".", test, fixed = TRUE) 

그래서 : 당신이 fixed = TRUE을 사용하려는 경우

답변

30

는 (비 해석) 문자 .를 사용 "도트 문자"를 의미하는 백 슬래시를 접두어로 붙이고 싶습니다.

> gsub("\\.\\.", ".", test) 
> gsub("\\.{2}", ".", test) 
+11

나는 이스케이프 대신 문자 클래스를 사용하는 것을 좋아하게되었습니다. 'gsub ("[.] {2}", ".", test)' –