2014-06-17 8 views
1

궁금합니다. 문자를 특정 위치에 정규 표현식으로 END 문자열까지 삽입 할 수 있습니까?r - 문자열의 특정 위치에 문자 삽입 END

이 내용을 찾았습니다. question/answer 매우 도움이됩니다.

그러나 두 번째 마지막 장소에 문자를 삽입하는 방법을 찾지 못했습니다. 내가 그것을했다

new <- "12:34" 

을 :

old <- "1234" 

나는 것

sub('(?<=.{2})', ':', old, perl=TRUE) 

그러나 이것은 (처음부터하지 끝에서) 초입니다.

+1

제목이 이와 같습니까? – rpax

+0

안녕하십니까. 질문 제목에 무엇이 있습니까? – AndriusZ

답변

1

나는 R 구문을 알고 있지만, 함께 시도가 없습니다 :

sub('(?=..$)', ':', old, perl=TRUE) 

$ :

sub('(..)$', ':\\1', old, perl=TRUE) 
+0

personaly 나는 이것을 좋아한다 :) (+1) – agstudy

+0

Thanks @ M42, 정규식은 분명하다. ': \\ 1'또는 '\\ 1 : \\ 2'의 의미를 설명해 주시겠습니까? – AndriusZ

+0

@AndriusZ :'\\ 1 '은 첫 번째 캡처 그룹의 내용을 의미합니다. 이 경우 문자열의 마지막 두 문자 http://www.regular-expressions.info/brackets.html을 살펴보십시오. – Toto

0

대신 뒤에 살펴 를 사용하여, 앞서 살펴 를 사용 앵커는 문자열의 끝과 일치합니다.