2012-01-19 2 views
2

일부 태그가 포함 된 문자열이 있습니다.정규 표현식을 사용하여 문자열 자르기

예 : asp.net에 VB6 크리스탈 - 보고서

나는 다음과 같은 여러 태그에이 문자열을 잘라 정규 표현식을 사용

string[] technos = Regex.Split(technoString, @"\W+"); 

foreach (var techno in technos) 
{ 
    ... 
} 

문제는이 정규 표현식이 잘못이다 : 태그가 너무 많이 생성됩니다. asp.net은 하나의 태그 여야하며 crystal-reports는 하나의 태그 여야합니다. 이 때

는 정규 표현식은 나에게 다음과 같은 태그를 제공합니다

  • ASP
  • VB6
  • 결정
  • 보고서를

와 내가 좋아하는 것

,
  • asp.net
  • VB6
  • 크리스탈 리포트

사람이 사용하는 일반 식은 알고 있나요?

감사합니다.

+2

왜 분리 문자로 공백으로'string.Split'를 사용하지를? – ChrisF

+0

space char로 분할하려고 했습니까? 당신은 정규식을 사용하지 않아도됩니다. – Beku

답변

4

왜 사용하지 않습니까? String.Split?

string str = "asp.net vb6 crystal-reports"; 
string[] parts = str.Split(); // Uses space as default separator 

parts 원하는 출력을 포함하는 문자열의 배열이다.

+0

'string.Split()'에 인수가 필요합니다. – SomeWritesReserved

+1

LinqPad에서 아무런 논쟁없이 테스트 한 결과 작동합니다. –

+2

MSDN에서 보낸 사람 :'separator 매개 변수가 Nothing이거나 문자가없는 경우 공백 문자가 구분 기호로 간주됩니다. ' –

3

그냥 공백이 있다면, 왜하지

technoString.Split(' ') 
2

그것을 공백에 분할 작동하지 않을까요?

string[] technos = Regex.Split(technoString, @"\s+"); 

그냥 보통의 공간, 일반 분할 사용의 경우 :

string[] technos = technoString.Split(); 
관련 문제