2011-02-01 8 views
0

와 스팬 태그 사이에 공백을 대체하기 위해 정규식을 작성하는 방법은 스팬 태그 사이의 공간이   

<span style="font-size:11;color:black"> </span> 

로 대체 할 나는이 정규식을 썼다 나 출력 :

<span&nbsp;style="font-size:11;color:black">&nbsp;</span> 

또한 &nbsp;을 입력하십시오. r 범위.

답변

1

당신은 당신의 정규식으로

@"(?<=<span[^>]*?>)\s*(?=</span>)" 

를 사용할 수 있습니다.

정규 표현식으로 HTML을 파싱하는 것은 싫은 일이며, HTML 주석과 JavaScript를 만났을 때 끔찍하게 깨어납니다.

+0

은 내가 ("몸") .Element를 XElement.Load (outputstrg)와 교체 된 문자열을로드 할 때 다른 문제에 직면했다하지만 텍사스; 그것에 대한 오류가 발생했습니다   거기에 공간을 가지고있는 XML 통지 있도록 내 바꾸기 문자열을 만들 수있는 방법이 있습니까? – Jack

+0

@ 잭 : 물론. Regex.LoadOptions.PreserveWhitespace를 사용하여 파일을 바꾸고 구문 분석 (또는로드)하지 마십시오. – Jens

+0

@Jens : "frowned upon"은 잘못된 문구라고 생각합니다. 부동 소수점 숫자 사이의 비교가 눈살을 찌푸린다고 말하는 것과 같습니다. 그것은 눈살을 찌푸리지 않아서, 그것은 단순히 문제에 대한 잘못된 해결책 일뿐입니다. 매우 구체적인 경우에는 작동하지만 현실 세계에서는 성공할 수있는 방법보다 실패 할 가능성이 더 많습니다. –

0

사용 Regex.Replace

Regex regex = new Regex(@"<span([^>]*)>\s*</span>"); 
String output = regex.Replace(input, "<span$1>&nbsp;</span>"); 
관련 문제