2017-09-25 12 views
1

내가 먼저 + 성 (\nJohn Smith\t) 발생 후 TSV 파일에 두 개의 탭으로 구분을 추가 할 :캡처 그룹으로 바꾸기를 사용하려면 어떻게해야합니까?

dl=readstring(fileName) 
dl=replace(dl,r"(\n[A-Za-z\s]+\t)","\1\t\t") 

나는 성이 x01로 대체 먼저 + 얻을. 워드 프로세서는 대체 문자열에 대해 뭔가 말을하지만 난 구현을

업데이트를 찾을 수 없습니다 :이 그룹

dl=replace(dl,r"(\n[A-Za-z\s]+\t)",s"\1") 

하지만이에 대한 대체 : 오류 Bad Replace에서

dl=replace(dl,r"(\n[A-Za-z\s]+\t)",s"\1\t\t") 

결과. \이없는 기호는 괜찮습니다.

답변

2

내게 버그가있는 것 같습니다. 하지만 해결 방법을 사용할 수 있습니다

julia> dl = "\nJohn Smith\t"; 
julia> s = Base.SubstitutionString; 
julia> dl=replace(dl, r"(\n[A-Za-z\s]+\t)", s("\\1\t")) 
"\nJohn Smith\t\t" 

편집 : 당신은 당신이 다른 트릭을 할 수있는 캡처 그룹 후 번호를 추가하려는 경우 BTW

julia> dl = "\nJohn Smith\t"; 
julia> dl=replace(dl, r"(\n[A-Za-z\s]+\t)", @s_str("\\1\t")) 
"\nJohn Smith\t\t" 

:

내가이 더 나은 생각 (명명 된 그룹) :

julia> replace("aAa", r"(?<one>A+)", s"\g<one>1") 
"aA1a"