2010-04-28 2 views
1

을 제거하기 위해서,하지만 난 공간을 차지해야합니다정규식 내가 원하지 않는 문자를 제거하는 regex.replace를 사용하려고 특수 문자

string asdf = "doésn't work?"; 
string regie = @"([{}\(\)\^$&._%#[email protected]=<>:;,~`'\’ \*\?\/\+\|\[\\\\]|\]|\-)"; 
Response.Write(Regex.Replace(asdf,regie,"").Replace(" ","-")); 

반환하는 대신

아이디어 doésntwork의 doésntwork?

감사합니다.

+1

이렇게하면 당황 할 일이 없습니다. http://www.ultrapico.com/Expresso.htm – bzlm

답변

7

정규 표현식에 공백이 포함되어 있으므로 string.Replace을 호출하기 전에 공백이 제거됩니다.

string regie = @"([{}\(\)\^$&._%#[email protected]=<>:;,~`'\’ \*\?\/\+\|\[\\\\]|\]|\-)"; 
              ^here 

는 정규 표현식에서 그것을 제거하고 코드는 무엇을 기대해야한다 :

string regie = @"([{}\(\)\^$&._%#[email protected]=<>:;,~`'\’\*\?\/\+\|\[\\\\]|\]|\-)"; 
1

당신은 바로 여기, 당신의 정규식 내부 공간이 : \’ \*합니다.

관련 문제