1
길이가 4 또는 5 자리이며 6 자리가 될 때까지 "0"으로 채워야합니다. 이것이 가능한가? .NET 프레임 워크를 사용하고 있습니다.정규 표현식 대체에서 해당 문자열의 패딩 된 버전으로 숫자 문자열을 대체하는 방법은 무엇입니까?
길이가 4 또는 5 자리이며 6 자리가 될 때까지 "0"으로 채워야합니다. 이것이 가능한가? .NET 프레임 워크를 사용하고 있습니다.정규 표현식 대체에서 해당 문자열의 패딩 된 버전으로 숫자 문자열을 대체하는 방법은 무엇입니까?
이 작업을 수행하는 데 정규 표현식이 필요하지 않습니다. 당신은 string.PadLeft
를 사용할 수 있습니다
s = s.PadLeft(6, '0');
(이 단지 작은 부분으로있는 좀 더 복잡한 교체를 수행하기 때문에 아마도) 당신이 정규 표현식을 사용해야 할 경우 위의 기술과 조합에 MatchEvaluator을 사용할 수 있습니다 :
string s = "foo <12423> bar";
s = Regex.Replace(s, @"<(\d+)>", match => match.Groups[1].Value.PadLeft(6, '0'));
결과 :
foo 012423 bar
감사합니다. 나는 그것이 가능하지 않다고 두려워했다. – norbertB