Language/VueJS

JS Word warp string

아르비스 2020. 3. 1. 12:20

항상 쉽지 않은  word wrap 처리 방법

 

// Static Width (Plain Regex)
const wrap = (s, w) => s.replace(
    /(?![^\n]{1,32}$)([^\n]{1,32})\s/g, '$1\n'
);

// Dynamic Width (Build Regex)
const wrap = (s, w) => s.replace(
    new RegExp(`(?![^\\n]{1,${w}}$)([^\\n]{1,${w}})\\s`, 'g'), '$1\n'
);


str.replace(/(?![^\n]{1,32}$)([^\n]{1,32})\s/g, '[$1]\n');

 

특정 자리를 바꾸는 방법

String.prototype.replaceAt=function(index, character) {
    return this.substr(0, index) + character + this.substr(index+character.length);
}