IT story

Javascript에서 문자열을 N 문자로 자르는 방법은 무엇입니까?

hot-time 2020. 6. 22. 07:39
반응형

Javascript에서 문자열을 N 문자로 자르는 방법은 무엇입니까?


Javascript를 사용하여 인수로 전달 된 문자열을 지정된 길이로 자르고 인수로 전달하는 함수를 만드는 방법은 무엇입니까? 예를 들면 다음과 같습니다.

var string = "this is a string";
var length = 6;
var trimmedString = trimFunction(length, string);

// trimmedString should be:
// "this is"

누구나 아이디어가 있습니까? 부분 문자열 사용에 대해 들었지만 이해하지 못했습니다.


왜 서브 스트링을 사용하지 않는가? string.substring(0, 7);첫 번째 인수 (0)가 시작점입니다. 두 번째 인수 (7)는 끝점 (독점)입니다. 자세한 정보는 여기에 있습니다.

var string = "this is a string";
var length = 7;
var trimmedString = string.substring(0, length);

Will의 의견을 답변에 복사 하면 도움이됩니다.

var string = "this is a string";
var length = 20;
var trimmedString = string.length > length ? 
                    string.substring(0, length - 3) + "..." : 
                    string;

고마워 윌.

https://jsfiddle.net/t354gw7e/ :) 관심있는 사람을위한 jsfiddle


코드 깔끔함을 위해 확장을 사용하는 것이 좋습니다. 내부 오브젝트 프로토 타입을 확장하면 해당 오브젝트에 의존하는 라이브러리가 엉망이 될 수 있습니다.

String.prototype.trimEllip = function (length) {
  return this.length > length ? this.substring(0, length) + "..." : this;
}

그리고 그것을 다음과 같이 사용하십시오 :

var stringObject= 'this is a verrrryyyyyyyyyyyyyyyyyyyyyyyyyyyyylllooooooooooooonggggggggggggsssssssssssssttttttttttrrrrrrrrriiiiiiiiiiinnnnnnnnnnnnggggggggg';
stringObject.trimEllip(25)

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substr

링크에서 :

string.substr(start[, length])

조금 늦었다. 나는 응답해야했다. 이것이 가장 간단한 방법입니다.

// JavaScript
function fixedSize_JS(value, size) {
  return value.padEnd(size).substring(0, size);
}

// JavaScript (Alt)
var fixedSize_JSAlt = function(value, size) {
  return value.padEnd(size).substring(0, size);
}

// Prototype (preferred)
String.prototype.fixedSize = function(size) {
  return this.padEnd(size).substring(0, size);
}

// Overloaded Prototype
function fixedSize(value, size) {
  return value.fixedSize(size);
}

// usage
console.log('Old school JS -> "' + fixedSize_JS('test (30 characters)', 30) + '"');
console.log('Semi-Old school JS -> "' + fixedSize_JSAlt('test (10 characters)', 10) + '"');
console.log('Prototypes (Preferred) -> "' + 'test (25 characters)'.fixedSize(25) + '"');
console.log('Overloaded Prototype (Legacy support) -> "' + fixedSize('test (15 characters)', 15) + '"');

단계적으로. .padEnd-문자열 길이를 보장합니다

"padEnd () 메소드는 결과 문자열이 주어진 길이에 도달하도록 현재 문자열을 주어진 문자열 (필요한 경우 반복)로 채 웁니다. 패딩은 현재 문자열의 끝 (오른쪽)에서 적용됩니다.이 대화식의 소스 예는 GitHub 저장소에 저장됩니다. " 출처 : developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

.substring-필요한 길이로 제한

타원을 추가하도록 선택한 경우 타원을 출력에 추가하십시오.

I gave 4 examples of common JavaScript usages. I highly recommend using the String prototype with Overloading for legacy support. It makes it much easier to implement and change later.


    let trimString = function (string, length) {
      return string.length > length ? 
             string.substring(0, length) + '...' :
             string;
    };

Use Case,

let string = 'How to trim a string to N chars in Javascript';

trimString(string, 20);

//How to trim a string...

참고URL : https://stackoverflow.com/questions/7463658/how-to-trim-a-string-to-n-chars-in-javascript

반응형