Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- console.log(trim(' abc ')); // => 'abc'
- console.log(trim('-_-abc-_-', '_-')); // => 'abc'
- console.log(trim('\xA0foo')); // "foo"
- console.log(trim('\xA0foo', ' ')); // " foo"
- console.log(trim('-_-ab c -_-', '_-')); // ab c
- console.log([' foo ', ' bar ']
- .map((value) => trim(value))); // => ['foo', 'bar']
- /** _removeUTF8BOM
- * Убирает символ начала utf8-bom
- * @param {string} string
- * @return {string}
- */
- function _removeUTF8BOM(string : string) : string {
- if (string.charCodeAt(0) === 0xFEFF) {
- string = string.substr(1);
- }
- return string;
- }
- /** _cleanUTF8
- * Убирает битыее utf8 символы
- * @param {string} string
- * @return {string}
- */
- function _cleanUTF8(string : string) : string {
- let output = '';
- for (let i=0; i < string.length; i++) {
- if (string.charCodeAt(i) <= 127) {
- output += string.charAt(i);
- }
- }
- return output;
- }
- /** _removeNeedle
- * Убирает подстроки из строки
- * @param {string} string
- * @param {string} needle
- * @return {string}
- */
- function _removeNeedle(string : string, needle = '') : string {
- const re = new RegExp('['+needle+']', 'g');
- return string.replaceAll(re, '');
- }
- /** _trim
- * Убираем отступы по краям строки, так же убираем символы needle
- * @param {string} string
- * @param {string} needle
- * @return {string}
- */
- function _trim(string : string, needle = '') : string {
- string = _removeUTF8BOM(string)
- string = _cleanUTF8(string)
- string = _removeNeedle(string, needle)
- return string.trim();
- }
- /** trim
- * Перегрузка функции _trim для строки
- * @param {string | string[]} string
- * @param {string} needle
- * @return{string | string[]}
- */
- function trim(string : string | string[], needle? : string) : string | string[]{
- if(Array.isArray(string)){
- return string.map((el : string) => _trim(el, needle));
- }
- return _trim(string, needle);
- }
- export default trim;
Advertisement
Add Comment
Please, Sign In to add comment