2013-09-21 5 views
0

내가 같은 문자열이를 제거 후, 문자열의 첫 단어 앞에 공백을 대체여분의 공백

" this is something you could use one day" 

하지만 내가 원하는 : 그 함수 내가 얻을

"this is something you could use one day" 

어떻게 수행하나요?

+1

그냥 오른쪽 regex.replace을 수행 한 후 트림을 사용할 수 있습니까? – Jerry

답변

2

나는 RegEx를 완전히 피할 것입니다. 그들은 거의 항상 유지하기가 어렵습니다. 좀 더 직접적인 옵션이 있다면 그걸 사용하겠습니다.

이 방법에 대해 :

private string removeThem(string str) 
{ 
    return String.Join(" ", (str ?? "").Split(new [] { ' ' }, 
     StringSplitOptions.RemoveEmptyEntries)); 
} 
3

당신은 쉽게 그냥 Regex.Replace()를 실행 한 후 Trim()을 실행할 수 있습니다

string str = str.Trim(); 

을 그러나 당신이 원하는 경우 하나의 정규식 연속 공간 트림 후행 공백을 제거하려면이 정규식을 시도 할 수 있습니다 :

^\s+|\s+$|\s+(?=\s) 

아무것도로 교체합니다.

^\s+은 문자열 시작 부분의 모든 공백과 일치합니다.

\s+$은 문자열 끝에있는 모든 공백과 일치합니다.

\s+(?=\s)은 연속 된 모든 공백과 일치하고 하나를 남깁니다.

관련 문제