첫 번째 및 마지막 문자를 제외한 모든 모음을 모음에서 제거하려고합니다. 나는 2 개의 표현으로 시도했지만 헛되이 2 가지 방법을 사용했다. 나는 그들을 아래에 묘사했다. 아무도 이것에 대한 정규 표현식을 가지고 있습니까?C# - 첫 번째 및 마지막 문자 이외의 문자열에서 모음을 제거하는 정규식
원래 문자열 - 소스 = apeaple
정규식 후 - source_modified = 사과 (이 예상되는 것입니다)
나는 표현 ([a-zA-Z])[aeiouAEIOU]([a-zA-Z])
을 시도했지만이 표현뿐만 아니라 문자를 반복 제거하고 있습니다.
Regex reg = new Regex("([a-zA-Z])[aeiouAEIOU]([a-zA-Z])"); string source_modified = reg.Replace(source, "");
원래 문자열 - - 제가
코드를 사용하는 상기 식을 적용하면 그래서 다음 일어나고 소스 = apeaple
코드 실행 후 - source_modified = aple (반복 문자 삭제)
코드 사용 - string source_modified = Regex.Replace(source, "([a-zA-Z])[aeiouAEIOU]([a-zA-Z])", "$1" + "$2");
원래 문자열 - 소스 = apeaple
코드 실행 후- source_modified = apaple (단지 1 모음 제거 들어간)
또한 ([a-zA-Z])[aeiouAEIOU]*([a-zA-Z])
시도하지만이 아닌 모든 단지 하나의 모음을 제거한다. source_modified = ""(모든 문자입니다 -
Regex reg = new Regex("([a-zA-Z])[aeiouAEIOU]*([a-zA-Z])"); string source_modified = reg.Replace(source, "");
원래 문자열 - - = apeaple
코드 실행 후 소스 내가
코드가 사용 위의 식을 적용 할 때 그래서 다음과 같은 일이 일어나고있다
코드 사용) 삭제 - string source_modified = Regex.Replace(source, "([a-zA-Z])[aeiouAEIOU]*([a-zA-Z])", "$1" + "$2");
원래 문자열 - 소스 = apeaple
코드 실행 후 - 소스 수정 됨 = apeple
도와주세요! 미리 감사드립니다!
감사합니다,
사마르
기다림 - 첫 번째 및 마지막 문자를 제외한 모든 모음을 제거하려는 경우 ** apeaple -> apeple ** is wrong! ** apeaple -> apple **, 아니요? – Ani
시작과 끝을 고정해야합니다.^$. – Paparazzi
RegEx는 짐작할 수없는 게임입니다. http://www.radsoftware.com.au/regexdesigner/와 같은 테스트 및 학습에 도움이되는 GUI가 있습니다. – banging