2013-06-25 2 views
2

":" 문자가 시작 부분에있는 경우 문자 ":"을 공백 문자 " "으로 바꾸고 싶습니다. TrimStart(":".ToCharArray())은 문자를 제거하지 않고 문자를 대체합니다. Replace(":", " ")은 시작 문자가 아니어도 문자를 모두 바꿉니다. 해결 방안은 무엇인가? Regex를 사용할 수 있습니까? 아니면 다른 방법일까요? 원하는 결과는 다음과 같습니다문자열 시작 부분에있는 문자 만 바꾸기

:abc -> abc 
abc -> abc 
a:bc -> a:bc 
abc: -> abc: 
+3

이 정규식은'^ :'시작 부분에서만 일치합니다. –

+0

부수적으로'TrimStart (':')'를 사용하여 가지고있는 것과 똑같이 할 수 있습니다. C#의'param' 키워드는 인수 목록을 자동으로 배열로 변환한다는 것을 의미합니다. –

답변

7

당신이 정규 표현식을 사용할 수 있습니다

var output = Regex.Replace(input, "^:", " "); 

하지만 뭔가이 간단한, 나는 기존의 문자열 방법을 사용하는 것이 좋습니다 것 :

var output = 
    (!string.IsNullOrEmpty(input) && input[0] == ':') 
    ? " " + input.Substring(1) : input; 

참고 : 귀하의 경우 null 또는 빈 문자열에 대한 검사가 필요하지 않을 수도 있습니다.

관련 문제