2012-07-05 2 views
0

regex.replace를 사용하여 '#'문자를 Environment.Newline으로 대체했습니다. 그러나 예상 된 결과가 반환되지 않습니다. 동일한 입력 문자열을 반환하는 것입니다. 내 코드는 다음과 같습니다.Regex.Replace not replace

Regex.Replace(inputString, @"#", Environment.NewLine); 
+2

'var result = Regex.Replace (inputString, @ "#", Environment.NewLine);'시도 했습니까? –

+2

왜 문자열을 사용하지 않습니까? 그런 간단한 경우 대신에 바꾸시겠습니까? –

+0

그것이 내가 결국 사용하게 된 것입니다. 감사! – tympaniplayer

답변

5

Regex.Replace 당신이 전달한 매개 변수는 변경되지 않습니다. 결과를 새로운 문자열로 반환합니다.

이 시도 :

물론
inputString = Regex.Replace(inputString, @"#", Environment.NewLine); 

는 정규식은 간단한 교체를 위해 약간의 과잉이다. 이 경우에는 String.Replace이면 충분합니다 (참고 : String.Replace도 매개 변수를 수정하지 않지만 새 문자열을 반환합니다).

+1

와우, 나는 바보 같았다. 그것은 단지 Thrusday 아침과 긴 날이었다! 건배! – tympaniplayer

2

당신은 간단하게 당신이 무슨 일을하는지에 대한 RegEx 필요하지 않습니다 : 박사 ABT가 언급 한 바와 같이

inputString = inputString.Replace("#", Environment.NewLine); 
0

, 당신은 변수에 Replace 방법을 반환해야합니다. 그래서, 당신은 할 수 :이 필요한 교체와 inputString 변수를 업데이트합니다

inputString = Regex.Replace(inputString, @"#",Environment.NewLine);

.