2014-10-16 2 views
0

아주 간단 해 보이지만 끝내지 못합니다. 내 텍스트 파일은 다음과 같습니다Emacs regexp - 텍스트 문자열 바꾸기, 질의어 바꾸기 regexp

Johnson Cary, 2009, This important article, 109 pages. 

Smith Tom, 2003, Much ado about nothing: a study, 89 pages. 

나는이 필요합니다

Johnson Cary%2009%This important article%109 pages. 

할 것 텍스트로 표시하지 않을 모든 특수 문자. 최종 목표는 .csls 파일과 .xls 파일로 끝나는 것입니다.

나는 그것이 작동하지 않습니다

\1 % 

로 교체 할 때 내가 처음 발생하는 쉼표를 찾아

^\([^,]+\)\([,]\) 

를 사용하지만하고

않으며, 그것에 대해 그런 종류의 가까운 조합의 모든 종류의 문제.

도움이 될 것입니다.

미리 감사드립니다.

+0

* 하나 이상의 쉼표보다 * 더 *를 대체하지는 않지만 첫 번째 쉼표로는 잘 작동합니다. 어떤면에서 그것은 당신을 위해 일하지 않습니까? 이것은 안전한 접근법이 아닐 수 있습니다 (이스케이프/쉼표는 어떤 형식의 데이터에서도 허용됩니다). – phils

+0

regexps로 작업 할 때 유용한 정보는 시각적 인 피드백으로 빌드하는 것입니다. http://wikemacs.org/wiki/Regexp – Ehvince

답변

1

이 교체 :이와

^\([^,]*\), \([^,]*\), \([^,]*\), \(.*\)$ 

을 :

\1%\2%\3%\4 

올바른 결과를 얻을 수 있습니다.

+0

와우! 컴퓨터가 마술을했습니다! 3 시간 전에 물어야 했어. 고마워요, 고마워요. 파리에서의 사랑. – Trying