
숫자 이름이 있는 긴 코드 섹션이 있는데, 이를 숫자 기호로만 바꾸고 싶습니다.
내가 가진 것:
PartOne
PartTwo
PartThree
PartFour
PartFive
...
PartOneHundred
내가 원하는 것:
Part1
Part2
Part3
Part4
Part5
...
Part100
Notepad++ 또는 유사한 도구에서 이 작업을 수행하는 방법에 대한 아이디어가 있습니까? 일일이 손으로 교체하려면 시간이 너무 많이 걸릴 것입니다. 이것은 쉬운 작업인 것 같지만 내 검색에서는 그러한 결과를 찾을 수 없습니다.
답변1
Notepad++에서 직접적으로 의심스럽습니다. 텍스트를 숫자로 변환하는 데는 많은 논리가 필요하며 심지어 아주 멋진 정규식조차도 해당 작업에 적합하지 않을 수 있습니다.
실제로 순차적이고(귀하의 예와 같이) 실제로 연속적이라면(귀하의 예와 같이) 아마도 제가 가장 좋아하는 스프레드시트에서 다시 작성한 다음 ColumnB에서 Notepad++로 복사하여 붙여넣을 것입니다.
# | ColumnA | ColumnB
1 | =row() | ="Part"&A1
2 | =row() | ="Part"&A2
...
스크립팅 언어를 사용하려는 경우 Perl은Lingua::EN::Words2Nums당신의 삶을 더 쉽게 만드는 데 도움이 되는 모듈
cat source.txt | perl -MLingua::EN::Words2Nums -e "while (<>) { if(/^Part/) { s/^Part//; print 'Part' . words2nums($_) . qq{\n}; } else { print $_; }; } " > destination.txt
이 스크립트에는 "Part"로 시작하는 줄이 숫자로 변환되는 반면, 그렇지 않은 줄은 바로 통과되는 기능이 포함되어 있습니다. 예를 들어, 예제에 몇 줄을 추가하면 스크립트에서 다음과 같은 출력을 얻었습니다.
Part1
ignore
Part2
Part3
Part4
keep in place
Part5
Part100
okay
Python에 비슷한 모듈(또는 Python이 Perl 모듈과 동등한 모듈이라고 부르는 것)이 있어도 놀라지 않을 것입니다. Python에 더 익숙하다면 저는 그 길을 택할 것입니다. 왜냐하면 PythonScript 모듈을 사용하여 Notepad++에 직접 빌드할 수 있고 스크립트에서 File-IO를 수행할 필요가 없기 때문입니다.