정규식을 사용하여 문자를 대문자로 변환 (EditPad Pro)


159

나는 모든 일치 (단 하나의 문자)를 대문자 char로 바꿀 수 있기를 희망하는 정규 표현식을 작성했습니다. EditPad Pro를 사용하고 있습니다 (단, 한 번만 수행하면되므로 무료로 시도 할 수있는 한 다른 도구를 사용하려고합니다).

배경 : 대소 문자를 구분하는 응용 프로그램에서 사용하는 매우 긴 텍스트 파일이 있으며 일부 단어는 대문자 char 대신 소문자로 시작하여 응용 프로그램이 중단됩니다. 이 작업은 수작업으로 수행하는 데 시간이 오래 걸리고 (사악한) 소문자 char의 발생이 매우 구체적이기 때문에 정규 표현식없이 수행하는 것이 매우 복잡합니다.

나는 select 정규 표현식을 작성했으며 이제는 역 참조와 함께 사용할 수 있지만 ($ 1은 잘 작동 함) 대문자 char로 바꿀 수는 없습니다. \ u $ 1과 같은 것이 작동한다고 생각했지만 EditPad Pro에는 없습니다.

무료 도구를 사용 하여이 작업을 수행 할 수없는 경우 대안은 C #에서 수행하는 것이지만 컴파일러가 아닌 서두르고 Express 버전을 먼저 다운로드해야합니다. ... 그러한 기능을 지원하는 도구를 찾는 것이 좋습니다!

감사합니다!


3
이 질문이 수퍼 유저에게 더 적합합니까?
georgiecasey

답변:


273

TextPad를 사용하면이 작업을 수행 할 수 있습니다.

예:

test this sentence

찾을 내용 : 다음으로 \([^ ]*\) \(.*\) 교체 :\U\1\E \2

\U다음의 모든 문자가 상위 원인이 될 것이다

\E를 해제\U

결과는 다음과 같습니다.

TEST this sentence

13
.NET Regex에서 (을 사용하지 않고 ToUpper) 이 작업을 수행하는 방법이 있습니까?
Shimmy Weitzhandler

34
메모장 ++에서도 작동합니다.
Shawn

33
\U$1\E숭고한 텍스트
쿼티

10
\U\1\E에서
J. Katzwinkel

6
PHPStorm에서도 작동합니다. 그래도 반대 요구 사항이있었습니다. 모든 대문자 속성 값을 (90 년대 HTML에서) 소문자로 바꿔야했습니다. 사용 \L$1\E했다.
Ejaz

30

이 스레드는 EditPad Pro에 관한 것이지만 자바 스크립트 정규 표현식과 동일한 요구가 있기 때문에 여기에 왔습니다.

여기 같은 팁이 필요한 사람들을 위해 replace 인수로 함수 또는 람다를 사용할 수 있습니다.

아래 함수를 사용하여 CSS 이름을 -자바 스크립트 "border-top"로 변환 합니다. 예를 들어 다음과 같이 변환됩니다 "borderTop".

    s = s.replace(/\-[a-z]/g, x => x[1].toUpperCase());

26

EditPad Pro 및 PowerGREP에는 역 참조 사례를 변경할 수있는 고유 한 기능이 있습니다. \U1첫 번째 역 참조를 대문자로, \L1소문자 \F1로, 첫 문자를 대문자로, 나머지를 소문자로 삽입합니다. 마지막으로 \I1대문자로 된 각 단어의 첫 글자와 소문자로 다른 글자를 삽입합니다.

출처 : Goyvaerts, Jan (2006). 정규 표현식 : 전체 튜토리얼 . Lulu.com. 피. 35 . ISBN 1411677609. Google 도서. 2010 년 6 월 25 일에 확인 함.


6

jEdit의 찾기 및 바꾸기 대화 상자에서 "BeanShell 스 니펫의 값 리턴"옵션을 사용하여 jEdit에서이를 수행 할 수 있습니다. 검색 " [a-z]"하고 " _0.toUpperCase()"따옴표없이 바꾸십시오.


1
귀하의 답변은 실제로 초기 질문과 관련이 없지만 인터넷 검색 중에 찾은 것과 정확히 내가 찾던 것입니다. 정말 고마워요!
adietisheim

5

또한 처음 사용 경기의 편지 활용할 수 \I1\I2등 대신을 $1하고 $2.


1

그냥 메모장에 대한 또 다른 ussage 예 ++ (정규 표현식 검색 모드)

Find: (g|c|u|d)(et|reate|pdate|elete)_(.)([^\s (]+)
Replace: \U\1\E$2\U\3\E$4

예:

get_user -> GetUser
create_user -> CreateUser
update_user -> UpdateUser
delete_user -> DeleteUser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.