2016-07-22 3 views
0

Я хотел бы добавить к текущей строке, используя javascript. В настоящее время он работает нормально, но сейчас я делаю это очень грязно. Я в основном заменяю строку WHOLE вместо добавления к ней. Есть ли способ, которым я могу просто добавить запятую и продолжить свою строку?Добавить в текущую строку, используя javascript

JS:

var mystring = "'bootstrap'" 
console.log(mystring.replace(/bootstrap/g , "'bootstrap', 'bootstrap2', 'bootstrap3'")); 

JSFiddle

+1

Лично я не вижу в этом ничего плохого. Предполагается, что «замена» заменяет одно на другое, даже если это другое похоже на первое. Единственное, что я вижу здесь странно, заключается в том, что в итоге вы получаете слишком много одиночных кавычек. –

+0

В моем комментарии я предполагаю, что ваша оригинальная строка длиннее, чем показано в вашем примере, с вашим значением в середине, например 'someText, 'bootstrap', someOtherText'.Если это не так, и вы на самом деле просто добавляете конец строки, то я согласен с ответами, которые приходят, что вы можете просто добавить к строке. –

+0

, не повторяя «bootstrap», но игнорируя порядок, вы можете заменить регулярным выражением lookahead –

ответ

1

Используйте массив и метод присоединиться.

var arr = []; 
 
var myString = "bootstrap"; 
 

 
arr.push(myString); 
 
arr.push(myString); 
 
arr.push("other string"); 
 
arr.push("bootstrap"); 
 

 
// combine them with a comma or something else 
 
console.log(arr.join(', '));

+0

Моя проблема заключается в том, что я получаю содержимое из файла, поэтому я изначально использовал замену – user4756836

2

Вы можете добавить в конец строки с помощью оператора +=. See the docs относительно струнные операторы.

var mystring = "'bootstrap'" 
 
mystring += ", 'bootstrap2'"; 
 
mystring += ", 'bootstrap3'"; 
 
console.log(mystring);

+0

. Моя проблема в том, что я получаю контент из файла, поэтому я изначально использовал замену – user4756836

+0

. Вам нужно будет добавить дополнительное объяснение в вопрос о формате содержимого, которое вы извлекаете из файла, если вы не считаете, что этого ответа достаточно. – tnschmidt

2

Вы можете Concat строки с + operator:

var mystring = "'bootstrap'" + ","; 
 
console.log(mystring);

+0

Моя проблема в том, что я получаю содержимое из файла, поэтому я изначально использовал замену – user4756836

+0

@ user4756836, что вы имеете в виду, что получаете контент из файла? В любом случае, вы все равно должны иметь содержимое в переменной. Вы можете обновить свой ответ, чтобы показать, с чего начинаете, и то, что вы ожидаете в качестве конечного результата. – KevBot

2

Вы можете сцепить (+ оператор) вместо того, чтобы заменить, если вы просто хотите, чтобы вторая строка была добавлена ​​к первой строке.

var mystring = "'bootstrap'" 
 
var newString = mystring +", "+ "'bootstrap', 'bootstrap2', 'bootstrap3'"; 
 
console.log(newString);

+0

Моя проблема в том, что я получаю контент из файла, поэтому я изначально использовал замену – user4756836

2

насчет:

mystring += "'bootstrap2',"; 

или

var arr = ["str1", "str2", "str3"]; 
var mystring = arr.map((e)=>{return "'"+e+"'";}).join(",") 

функция Array.map используется, чтобы обернуть каждую строку с одиночными quates, чем вы Array. join - используется для ставки «,» WEEN члены

+0

. Моя проблема в том, что я получаю контент из файла, поэтому я изначально использовал замену – user4756836

0

Это не рекомендуется, но если вы хотите сохранить символы, а не заботиться о порядке и хочу только добавить в строку, начиная с 'bootstrap':

myString = "'bootstrap'"; 
 
console.log(myString.replace(/^(?='(bootstrap)')/, "'$12', '$13', "));

или вы можете просто использовать группу захвата, чтобы держать ее короткими

mystring.replace(/'(bootstrap)'/, "'$1', '$12', '$13'") 
Смежные вопросы