Как добавить пробелы между каждым символом в строке? - PullRequest
6 голосов
/ 10 сентября 2011

Я пытаюсь создать функцию, которая вставляет пробелы между символами строкового аргумента, а затем возвращает новую строку, содержащую те же символы, что и аргумент, разделенные пробелами.

* 1003 Е.Г. *

Hello

становится

H e l l o

Я большой новичок, и я уверен, что некоторым это может показаться бесполезным, но я просто не могу разобраться с этим.

Ответы [ 4 ]

12 голосов
/ 10 сентября 2011

Вы можете использовать функцию split(), чтобы превратить строку в массив из отдельных символов, а затем функцию join(), чтобы превратить ее обратно в строку, где выукажите присоединяемый символ (указав пробел в качестве присоединяемого символа):

function insertSpaces(aString) {
  return aString.split("").join(" ");
}

(Обратите внимание, что параметр split() - это символ, который вы хотите разделить, поэтому, например, вы можете использовать split(",") дляразбить список через запятую, но если вы передадите пустую строку, он просто разделит каждый символ.)

2 голосов
/ 17 октября 2013

Это довольно просто ... просто вызовите метод замены для строки следующим образом ...

var str = "Hello";
console.info(str.replace(/\B/g, " ");

Что я делаю здесь, это замена границы, не входящей в слово, которая находится внутри слова.Это просто обратная граница слова, обозначенная "\ b", которая находится вокруг слова;думайте так, как будто вы подходите к границе слова.

1 голос
/ 10 сентября 2011
function insertSpaces(aString)
{
  return aString.split('').join(' ');
}
1 голос
/ 10 сентября 2011

Альтернативой для решения разделения и объединения может быть:

'Hello'.replace(/(.(?!$))/g,'$1 '); //=> H e l l o
 //               ^all characters but the last
 //                          ^replace with found character + space

Или в функции:

function insertChr(str,chr) {
  chr = chr || ' '; //=> default is space
  return str.replace(/(.(?!$))/g,'$1'+chr);
}
//usage
insertChr('Hello');     //=> H e l l o
insertChr('Hello','-'); //=> H-e-l-l-o

или в качестве функции-прототипа String:

String prototype.insertChr(chr){
  chr = chr || ' '; //=> default is space
  return this.replace(/(.(?!$))/g,'$1'+chr);
}
//usage
'Hello'.insertChr();    //=> H e l l o
'Hello'.insertChr('='); //=> H=e=l=l=o
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...