Notice
Recent Posts
Recent Comments
Link
투케이2K
137. (kotlin/코틀린) [유틸 파일] htmlTagRemoveString_RegExp : html 형식 태그 제거 문자열 데이터 반환 본문
Kotlin
137. (kotlin/코틀린) [유틸 파일] htmlTagRemoveString_RegExp : html 형식 태그 제거 문자열 데이터 반환
투케이2K 2022. 12. 27. 21:05[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// TODO [SEARCH FAST] : [RETURN] htmlTagRemoveString_RegExp : html 형식 태그 제거 문자열 데이터 반환
fun htmlTagRemoveString_RegExp(data: String): String {
/**
* // -----------------------------------------
* [htmlTagRemoveString_RegExp 메소드 설명]
* // -----------------------------------------
* 1. html 형식 태그 제거 문자열 데이터 반환
* // -----------------------------------------
* 2. 호출 방식 :
*
* var data = "<p>test url</p><p><a href="https://www.naver.com">https://www.naver.com</a></p><p>&nbsp;</p><p>입니다</p><p>&nbsp;</p>"
*
* C_Util.htmlTagRemoveString_RegExp(data)
*
* // -----------------------------------------
* 3. 리턴 데이터 : html 형식 태그 제거 문자열 반환
* // -----------------------------------------
*/
// [리턴 데이터 변수 선언 실시]
var result = ""
// [문자열 데이터 널 판단 수행 실시]
if (C_Util.stringNotNull(data) == true) { // [널이 아닌 경우]
try {
// [html 태그를 제거 하기 위한 패턴 정의 실시]
val tag_pattern = "<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>" // [<p> 등 태그 제거]
val num_reg_entity_pattern = Pattern.compile("&#[0-9]+;") // [	 형태 제거]
val char_reg_entity_pattern = Pattern.compile("&[a-zA-Z]+;") // [& 형태 제거]
val char_normal_entity_pattern = Pattern.compile(" [a-zA-Z]+;") // [amp; 형태 제거]
// [html 태그 1차 제거 실시]
result = data.replace(tag_pattern.toRegex(), " ")
// [html 태그 2차 제거 실시]
val num_reg_mat = num_reg_entity_pattern.matcher(result)
result = num_reg_mat.replaceAll("")
val char_reg_mat = char_reg_entity_pattern.matcher(result)
result = char_reg_mat.replaceAll("")
val char_normal_mat = char_normal_entity_pattern.matcher(result)
result = char_normal_mat.replaceAll("")
// [html 태그 연속 공백 제거 실시]
result = result.replace("\\s+".toRegex(), " ")
// [문자열 양쪽 끝 공백 제거 실시]
result = result.trim()
} catch (e: Exception) {
e.printStackTrace()
}
}
// [로그 출력 실시]
///*
Log.i("---","---")
Log.d("//===========//","================================================")
Log.i("","\n"+"[C_Util >> htmlTagRemoveString_RegExp() :: html 형식 태그 제거 문자열 데이터 반환 실시]")
Log.i("","\n"+"--------------------------------")
Log.i("","\n"+"[INPUT :: "+data+"]")
Log.i("","\n"+"--------------------------------")
Log.i("","\n"+"[RETURN :: "+result+"]")
Log.d("//===========//","================================================")
Log.i("---","---")
// */
// [리턴 데이터 반환 실시]
return result
}
[결과 출력]
반응형
'Kotlin' 카테고리의 다른 글
139. (kotlin/코틀린) 변수에 커스텀 get 호출 지정 및 리턴 값 when 분기 처리 실시 (0) | 2022.12.27 |
---|---|
138. (kotlin/코틀린) 변수에 커스텀 set 지정 , get 호출 수행 (0) | 2022.12.27 |
136. (kotlin/코틀린) [유틸 파일] urlFileExtensionName : URL 주소 파일 확장자 포함 확인 실시 (0) | 2022.12.27 |
135. (kotlin/코틀린) [유틸 파일] endRemoveChar : end 종료 기준 특정 문자 지우기 실시 (0) | 2022.12.26 |
134. (kotlin/코틀린) [유틸 파일] startRemoveChar : start 시작 기준 특정 문자 지우기 실시 (0) | 2022.12.26 |
Comments