'<'으로 끝나는 모든 내용을 제거하고 '>'으로 끝나는 항목을 C#의 문자열에서 제거하려면 어떻게합니까? 나는 그것이 정규식와 함께 할 수 있다는 것을 알고 있지만, 나는 그다지 좋지 않습니다.C#의 문자열에서 HTML 태그 및 주석을 제거 하시겠습니까?
3
A
답변
4
내가 최근에 작성한 태그 패턴은 최근의 작은 프로젝트를 위해 작성되었습니다.
string tagPattern = @"<[!--\W*?]*?[/]*?\w+.*?>";
나는 그것은 가능성이 올바르게 스크립트 나 스타일 태그를 처리하기 위해 수정 될 필요가있을 것이다이
MatchCollection matches = Regex.Matches(input, tagPattern);
foreach (Match match in matches)
{
input = input.Replace(match.Value, string.Empty);
}
처럼 사용했다.
+0
매력처럼 작동했습니다. –
+1
'[! - \ W *?] '는 "단어가 아닌 문자 인'!'와'-' 사이의 문자와 일치합니다 ,'*'또는'?' ". 이 그룹은 선택 사항이므로 상처를주지는 않지만 부정적인 lookahead ('(?!)','\ W *?'및 그 뒤에 오는' *?'전혀 의미가 없습니다.) –
1
정규식이 아닌 옵션 : 그러나 여전히 중첩 태그를 구문 분석하지 않습니다! 빠른 정규식에 비해 8 배를 작동
public static string StripHTML(string line)
{
int finished = 0;
int beginStrip;
int endStrip;
finished = line.IndexOf('<');
while (finished != -1)
{
beginStrip = line.IndexOf('<');
endStrip = line.IndexOf('>', beginStrip + 1);
line = line.Remove(beginStrip, (endStrip + 1) - beginStrip);
finished = line.IndexOf('<');
}
return line;
}
1
또 다른 비 정규식 코드 :
public static string StripTagsCharArray(string source)
{
char[] array = new char[source.Length];
int arrayIndex = 0;
bool inside = false;
for (int i = 0; i < source.Length; i++)
{
char let = source[i];
if (let == '<')
{
inside = true;
continue;
}
if (let == '>')
{
inside = false;
continue;
}
if (!inside)
{
array[arrayIndex] = let;
arrayIndex++;
}
}
return new string(array, 0, arrayIndex);
}
관련 문제
- 1. 문자열에서 HTML 태그 제거
- 2. jquery html 문자열에서 html 태그 제거
- 3. 문자열에서 일치하지 않는 HTML 태그 제거
- 4. jquery를 사용하여 문자열에서 html 태그 제거
- 5. jQuery를 사용하여 문자열에서 HTML 태그 제거
- 6. C++ : 문자열에서 모든 HTML 서식을 제거 하시겠습니까?
- 7. 문자열에서 숫자를 제거 하시겠습니까? 문자열에서
- 8. RegEx를 사용하여 문자열에서 인코딩 된 HTML 제거
- 9. 문자열에서 모든 HTML을 제거 하시겠습니까?
- 10. UIWebView에서 HTML 태그 제거
- 11. jQuery를 제거 HTML 태그
- 12. NSScanner를 사용하여 문자열에서 주석을 삭제 하시겠습니까?
- 13. Java 문자열에서 공백을 제거 하시겠습니까?
- 14. 제거 HTTP : // 및 WWW 문자열에서
- 15. Codeigniter 입력에서 HTML 태그 제거
- 16. 정규식 : 한 종류의 태그 제외한 문자열에서 모든 태그 제거
- 17. 소스 파일에서 키워드 대체 주석을 제거 하시겠습니까?
- 18. 특정 pinColor로 MKMapView 주석을 제거 하시겠습니까?
- 19. F # : 문자열에서 처음 N 문자를 제거 하시겠습니까?
- 20. C에서 문자열에서 문자를 제거
- 21. 문자열에서 명명 된 HTML 태그 및 내용을 제거하는 방법은 무엇입니까?
- 22. 문자열에서 제거()
- 23. preg_replace를 사용하여 문자열에서 도메인 확장명을 제거 하시겠습니까?
- 24. iPhone-SDK : 단락 문자열에서 공백을 제거 하시겠습니까?
- 25. php : 괄호/내용을 문자열에서 제거 하시겠습니까?
- 26. HTML 콘텐츠의 공백을 제거 하시겠습니까?
- 27. TestLink XML 파일의 CDATA에서 HTML 태그 제거
- 28. div 태그 사이에 HTML 내용 삽입/제거
- 29. 특정 HTML 태그 및 ASCII 이외의 문자 제거
- 30. 쿼리 문자열에서 값 제거
는 HTML 민첩성 팩과 같은 HTML 파서를 사용합니다. 정규 표현식은 종종 html로는 좋지 않은 선택입니다. –
이 경우 정규 표현식을 사용하는 간단한 경우 일 수 있습니다. 다른 태그에 대해 전체 DOM을 구문 분석하는 것과 같지 않습니다. – AuthorProxy