source

지정된 html 문자열에서 선행 및 후행 공백을 제거하려면 어떻게 해야 합니까?

gigabyte 2022. 9. 16. 23:08
반응형

지정된 html 문자열에서 선행 및 후행 공백을 제거하려면 어떻게 해야 합니까?

다음 HTML 문자열이 있습니다.이 문자열에서 선행 및 후행 공백을 제거하기 위한 JavaScript 샘플 코드는 무엇입니까?

<p>&nbsp;&nbsp;</p>
<div>&nbsp;</div>
Trimming using JavaScript<br />
<br />
<br />
<br />
all leading and trailing white spaces
<p>&nbsp;&nbsp;</p>
<div>&nbsp;</div>

"String 메서드" 참조trim()- https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim

var myString = '  bunch    of <br> string data with<p>trailing</p> and leading space   ';
myString = myString.trim();
// or myString = String.trim(myString);

편집

다른 코멘트에서 언급했듯이 정규식 접근방식을 사용할 수 있다.trimmethod는 사실상 regex의 에일리어스일 뿐입니다.

if(!String.prototype.trim) {  
  String.prototype.trim = function () {  
    return this.replace(/^\s+|\s+$/g,'');  
  };  
} 

...아직 수영장의 얕은 곳에서 헤엄치고 있는 브라우저의 네이티브 프로토타입에 메서드가 삽입됩니다.

var str = "  my awesome string   "
str.trim();    

이전 브라우저의 경우 regex 사용

str = str.replace(/^[ ]+|[ ]+$/g,'')
//str = "my awesome string" 
string.replace(/^\s+|\s+$/g, "");

나는 이것이 매우 오래된 질문이라는 것을 알지만 여전히 받아들여질 수 있는 답이 없다.다음 html 태그를 삭제하고 싶은 것을 알 수 있습니다.html 문자열에 기반한 공백과 '빈'인 html 태그입니다.

저는 당신이 원하는 출력에 대한 당신의 의견을 바탕으로 해결책을 생각해냈습니다.

Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces 

var str = "<p>&nbsp;&nbsp;</p><div>&nbsp;</div>Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces<p>&nbsp;&nbsp;</p><div>&nbsp;</div>";
console.log(str.trim().replace(/&nbsp;/g, '').replace(/<[^\/>][^>]*><\/[^>]+>/g, ""));

.trim()선행 및 후행 공백 제거

.replace(/&nbsp;/g, '')삭제하다&nbsp;

.replace(/<[^\/>][^>]*><\/[^>]+>/g, ""));빈 태그를 삭제합니다.

코드 파일과 같은 여러 줄 문자열을 사용하는 경우:

<html>
    <title>test</title>
    <body>
        <h1>test</h1>
    </body>
</html>

이 결과를 얻기 위해 모든 선두 행을 바꾸려고 합니다.

<html>
<title>test</title>
<body>
<h1>test</h1>
</body>
</html>

를 추가해야 합니다.multiline정규식에 플래그를 붙입니다.^그리고.$줄마다 일치:

string.replace(/^\s+|\s+$/gm, '');

관련 자료:

"m" 플래그는 여러 줄 입력 문자열을 여러 줄로 처리해야 함을 나타냅니다.예를 들어 "m"을 사용하는 경우 "^"과 "$"는 전체 문자열의 시작 또는 끝에서만 일치에서 문자열 내의 모든 줄의 시작 또는 끝으로 변경됩니다.

01) 선행 및 후행 공백만 삭제할 필요가 있는 경우 다음과 같이 하십시오.

var address = "  No.255 Colombo  "
address.replace(/^[ ]+|[ ]+$/g,'');

문자열 "No.255 Columbo"가 반환됩니다.

02) 모든 공백을 제거해야 할 경우 다음을 사용합니다.

var address = "  No.255 Colombo  "
address.replace(/\s/g,"");

문자열 "No.255Colombo"가 반환됩니다.

var trim = your_string.replace(/^\s+|\s+$/g, '');

언급URL : https://stackoverflow.com/questions/10032024/how-to-remove-leading-and-trailing-white-spaces-from-a-given-html-string

반응형