2011-12-31 3 views
13

나는 하나 이상의 공백을 제거하는 방법을 찾기 위해 노력하고있었습니다.powershell에서 둘 이상의 공백 제거

하지만 내가 찾은 것은 PHP로하는 방법입니다. "Removing more than one white-space"

비슷한 정규 표현식을 사용할 수 있습니다.

powershell에서 동일한 정보를 얻는 방법은 무엇입니까?

내 문자열 일부 라인 소스와 목적지 사이에 하나 이상의 공백을 포함 할 수도 있습니다

Xcopy Source Desination 

같다. 당신이 하나의 공간에 여러 개의 연속적인 공백 문자를 축소하기 위해 찾고 있다면

답변

42

는 당신이 -replace 연산자를 사용하여이 작업을 수행 할 수 있습니다 ...

'[  Hello,  World!  ]' -replace '\s+', ' ' 

... 수익을

[ Hello, World! ] 

-replace의 첫 번째 매개 변수는 일치시킬 패턴이 regular expression이고 두 번째 매개 변수는 일치하는 문자를 대체하는 텍스트입니다. \s은 공백 문자와 일치하고 +은 하나 이상의 일치 항목과 일치한다는 것을 나타냅니다. 즉, 하나 이상의 인접한 공백 문자가 단일 공백으로 대체됩니다. 자세한 내용은 help about_comparison_operators을 입력하거나 here을 참조하십시오.

+0

Mr.Bacon에게 감사드립니다. 그것은 나를 위해 일합니다. – Samselvaprabu

+0

Trim(), TrimStart() 및/또는 TrimEnd()를 사용하면 분명히 좋은 옵션입니다. –

+14

첫째, 내 대답은 작동하는 대체 솔루션입니다. 그래서 나는 downvote가 필요한 이유를 모르겠습니다. 두 번째로, Trim *() 메서드는 문자열의 처음과/또는 끝에서 특별히 작동하는 반면, 작성자는 제거 할 공간이 문자열 중간에있는 문자열 예제를 제공했지만 Trim *() 메서드는 무시하십시오. – BACON