2016-09-06 2 views
1

나는이 같은 형식 다음 텍스트 행 :스왑 텍스트

Title1 : Text1 Title2 : Text2

이 어떻게 다른 측면에 :의 양쪽에서 텍스트를 교환 할 수 있습니까? 마찬가지로 :

Text1 : Title1 Text2 : Title2

A는 기능이나 다른 마법에 내장, 나는이 작업을 수행하는 작은 스크립트를 작성할 수 있지만 정규식 함께 할 수있는 빠른 방법이 있는지 궁금 해서요?

+0

처리 할 선행/후행 공백이 있습니까? 그렇다면'^ (\ h * \ w +) (\ h * : \ h *) (\ w + \ h *) $'-'$ 3 $ 2 $ 1' 정규 표현식을 사용하십시오. –

+0

@ WiktorStribiżew, 텍스트를 찾을 수 없습니다. 선에 대한 자세한 내용을 알려 드리겠습니다. 그것들은 모두 다음과 같은 형식으로되어 있습니다 :'Homepage (homepage) : http : // www.example.com /' – Leustad

+2

아하, 다른 물고기 주전자. '^ ([^ \ r \ n :] +) (: \ h *) (. *) $'를 사용하고 같은 대체물을 사용하십시오. 또는^([^ \ r \ n :] +) (: \ h *) ([^ : \ r \ n] +) $' –

답변

1

당신은

^([^\r\n:]+)(:\h*)(.*)$ 

또는

^([^\r\n:]+)(:\h*)([^:\r\n]+)$ 

$n는 캡처 그룹과 캡처 한 값으로 역 참조입니다 $3$2$1로 교체 사용할 수 있습니다. 그룹은 패턴에 나타나는 순서대로 자동으로 번호가 매겨집니다.

세부 :

  • ^ - 라인의 시작
  • ([^\r\n:]+) - 그룹 1 나중에 $1 하나 또는 CR, LF 이외의 많은 문자와 콜론
  • (:\h*)을 캡처로 참조 - 그룹 2 콜론과 0 개 이상의 수평 공백 캡처하기
  • ([^:\r\n]+) - 그룹 3은나중에. 위 참조.
  • $ - 행의 끝.
0

1 단계 : 키보드의 Alt 버튼을 누른 상태에서 세 번째 항목 즉 Text1을 강조 표시합니다. 3 열 전체가 선택됩니다.

2 단계 : 마우스 오른쪽 버튼을 클릭하고 '잘라 내기'를 선택한 다음 첫 번째 열 앞에 붙여 넣기를 선택하십시오.

3 단계 : 키보드에서 Alt 키를 누른 상태에서 ':'열을 강조 표시하십시오.

4 단계 : 마우스 오른쪽 버튼을 클릭하고 '잘라 내기'를 선택한 다음 첫 번째와 두 번째 열 사이에 붙여 넣기를 선택하십시오.

+0

열이 없다. 행의 텍스트 – Leustad

+0

열이 없으면 여전히 작동해야한다. alt 버튼 ':'다음에 텍스트를 강조 표시 하시겠습니까? –

+0

나는 당신이하려는 것을 알고 있습니다.이 선들은 길이가 다르기 때문에 그렇게 선택할 수는 없습니다. – Leustad