2011-10-19 2 views
1

여기에 파일 내에서 모든 공백을 제거하고 '-'로 바꾸는 작은 Regex가 있습니다.Regex .net을 사용하여 지정된 문자 바꾸기

','및 '_'과 같이 '-'로 다른 문자를 대체하고 싶습니다.

정규식에 이러한 문자를 어떻게 나열 할 수 있습니까?

Regex r = new Regex(@"\s+"); 

string fileName = r.Replace(Files.Name, @"-"); 

답변

4
Regex r = new Regex(@"[\s,_-]+"); 

string fileName = r.Replace(Files.Name, @"-"); 

-가 첫 번째 마지막이거나 당신이 탈출해야한다는 점에 유의하십시오.

+0

- 처음 일 수도 있습니다. – FailedDev

+0

@FailedDev 페티 팅하지만 오른쪽. – xanatos

+0

@FailedDev 그것은':-)'또는': -D'를 가진 페티 틱이었습니다 ... pe': -D' antic – xanatos

3
Regex r = new Regex(@"(\s|-|,|_)+"); 
+1

완벽한 답변입니다. 감사! –

+2

어,하지만 비 능률적 인 방법입니다. @ xanatos 버전은보다 빠르고 깨끗합니다. –

+0

주문이나 이스케이프 문자에 대해 걱정할 필요가 없으므로 더 읽기 쉽지만 개인적인 취향이라고 생각합니다. 우리는 이것을 '비효율적이라고'부르는 마이크로 최적화 방법이라고 생각합니다. 예, 수천 번 반복하면 몇 밀리 초가 더 느릴 수 있습니다. 그게 중요합니까? 절대 속도가 가장 빠르다면, 다양한 문자 각각에 대해 직선으로 대체하는 것이 더 빠를 것입니다. 해독 성은 일반적으로 IMO보다 중요합니다. – mikel