Javascript String Заменить - PullRequest
       3

Javascript String Заменить

2 голосов
/ 09 сентября 2011

У меня есть строка, которую я хотел бы заменить определенными значениями на пустую строку. Моя строка:

"col1=,,,&col2=,&col3=,,&item5,item8,"

Я пытаюсь заменить ",,," на ""

Я пробовал следующее и не испытывал радости, у кого-нибудь есть идеи, как лучше всего добиться этого?

var string = "col1=,,,&col2=,&col3=,,&item5,item8,";
var NewCookie = "";

NewCookie = string.replace(",,", ",");
NewCookie = NewCookie.replace(',,,', ',');
NewCookie = NewCookie.replace(',,&', ',');

alert(NewCookie);

Спасибо

Ответы [ 5 ]

3 голосов
/ 09 сентября 2011

Попробуйте это:

var result = "col1=,,,&col2=,&col3=,,&item5,item8,".replace(/,+&?/g,',');

Строка результата: "col1=,col2=,col3=,item5,item8,"

или

var result = "col1=,,,&col2=,&col3=,,&item5,item8,".replace(/=?,+&?/g,'=&');

Строка результата: "col1=&col2=&col3=&item5=&item8=&"

или

var result = "col1=,,,&col2=,&col3=,,&item5,item8,".replace(/,+/g,',');

Строка результата: "col1=,&col2=,&col3=,&item5,item8,"

1 голос
/ 09 сентября 2011

Попробуйте эту функцию:

function RemoveConsecutiveCharacter(str, character){
    var newStr = "";

    $.each(str, function(index){
        if(str[index] != character || str[index-1] != character){
            newStr += str[index];
        }
    });

    return newStr;
}

См. Пример здесь: http://jsfiddle.net/expertCode/6naAB/

0 голосов
/ 26 ноября 2012
while(str.indexOf(",,")!=-1){
     str = str.replace(",,",",");
}
0 голосов
/ 09 сентября 2011

Вы заменяете ",," на ",", что приводит к:

"col1=,,&col2=,&col3=,&item5,item8,"

Поэтому, когда вы делаете:

NewCookie = NewCookie.replace(',,,', ',');

, больше нет ",,,"

Попробуйте изменить функции замены:

NewCookie = string.replace(',,,', ',');
NewCookie = NewCookie.replace(",,", ",");
NewCookie = NewCookie.replace(',&', ',');
0 голосов
/ 09 сентября 2011

это работает для меня:

alert( ("col1=,,,&col2=,&col3=,,&item5,item8,").replace(',,,',',') );

edit: а, вы устанавливаете NewCookie на "", затем хотите заменить что-то в NewCookie (что "") в примерах 2 и 3. Вы должны установитьvar NewCookie = string; в вашем примере.
или сделайте

var NewCookie = string.replace(',,,',',');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...