버그 해결을 위한 모든 질문을 던져
0 votes
95 views

안녕하세요.

public enum MyType
{
    ANY_A_B,
    ANY_C_D_E,
    ANY_F

}

위와 같은 형식의 enum이 있는데요.

부득이하게 참조하는 곳에서 문자열로 교체하려고합니다.

아래와같이 MyType.은 삭제하고 ""로 감싸고 _언더바를 .점으로 변경하려고합니다.

MyType.ANY_A_B -> "ANY.A.B"

enum타입이 내부에 2000개이상 가량 존재해서 일반적인 replace로는 교체하기 어렵구요.

정규식을 사용하려고하는데 타입내 _언더바 갯수가 가변적이라 식을 짜기 쉽지않네요.

혹시 좋은방법 있을까요?

읽어주셔서 감사합니다.

asked (3 point) , 95 views

1 답변

+1 vote

replaceAll이 안되는 VS IDE환경에서는 한방에 가는게 쉽지 않아 보이긴 하네요..

저도 깔끔한 솔루션은 찾지 못했고.. 좀 이상한 방법이긴 합니다만 아래의 치환을 될때까지 하는 방법이 있을거 같습니다.

한번 할때마다 앞에서 부터 하나씩 _가 .으로 변할겁니다.

찾을 구문: MyType\.((?:[a-zA-Z0-9]+\.)*)([a-zA-Z0-9]+)_([a-zA-Z0-9]+)((?:_[a-zA-Z0-9]+)*)
변경할 구문: MyType.$1$2.$3$4

시행착오가 있을 수 있으니 꼭 백업 및 깔끔한 리파지터리에서 테스트 하시길 바랍니다.

answered (298 point)

어차피 소스코드에다 정규식을 넣는게 아니라서 VS에서 몇회 반복은 상관없습니다. ^^

정말 잘 되네요.

감사합니다. yes

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

620 질문
784 answers
748 댓글
118,442 users