2

最初の文字を除くすべての単一文字を置き換える必要があります。Python でプログラムしたサーバーを使用しているからです。私が常にUrlに渡す情報。URL は次のとおりです。

http://localhost:8100/index2?decode=demo_title=Demo+title&proc1_script=script.sh+parameters&inputp3_id=pepepe&outputp2_value=&demo_input_description=hola+mundo&outputp4_visible=on&inputdata1_max_pixels=1024000&inputdata1_image_depth=1x8i&tag=&outputp1_id=nanana&proc1_src_compresion=zip&outputp3_description=&inputp1_type=text&inputdata1_description=input+data+description&inputp2_description=bien%3F&inputp3_description=funciona&outputp3_type=header&outputp2_visible=on&outputp3_visible=on&outputp1_type=header&outputp3_value=&demo_params_description=va+bien&demo_result_description=win%3F&outputp1_description=&inputdata1_type=image2d&inputp1_value=si&proc1_chk_script=off&outputp4_info=&outputp2_id=nanfdsvfa&inputp1_description=funciona&demo_wait_description=boh&outputp4_description=&inputp2_id=papapa&inputdata1_id=id_lsd&inputp1_visible=on&proc1_chk_cmake=off&proc1_cmake=-D+CMAKE_BUILD_TYPE%3Astring%3DRelease+&inputp3_visible=+off&outputp1_visible=on&outputp1_value=&outputp4_value=&inputp2_visible=on&proc1_source=lsd-1.5.zip&inputp3_value=si&proc1_make=-j4+-C+&images_config_file=cfgmydemo.cfg&outputp2_type=header&proc1_subdir=xxx-1.5&proc1_chk_make=on&inputp1_id=popopo&proc1_url=http%3A%2F%2Fwww.ipol.im%2Fpub%2Falgo%2F...&inputp2_value=no&demo_data_filename=data_saved.cfg&inputdata1_info=info_lsd&outputp3_info=&inputdata1_image_format=.pgm&inputdata1_compress=False&outputp1_info=&outputp3_id=nananartrtrt&inputp2_type=integer&proc1_id=lsd&inputp3_type=float&outputp2_description=&outputp4_type=header&outputp2_info=&outputp4_id=nana&tag=&inputp4_id=popopo&inputp4_type=text&inputp4_description=cddc&inputp4_value=sdlk&inputp4_info=dsl

今、最初の文字が URL で重要であり、置き換える必要がないというこの問題があります。

これは、Javascript のすべての文字を置き換えるための私のスクリプトです。

var $fm = $("#formparam");
                $.get($fm.attr('${nextstep}'))
                    .done(function(data, ok){
                    var fr=$fm.serialize();
                    fr=fr.replace(/\&/g,"+%23+");
                    fr=fr.replace(/\=/g,"%24+");
                    alert('call done: ' +fr);
                    // data is the content of the response
                    document.location.href+="index2?"+fr})
                    .fail(function(data){
                    alert('call failed');
                    // call failed for some reason -- add error messaging?
                    });

そして、最初の = を置き換えないようにスクリプトを変更する方法は?

アップデート:

最初の文字ではなく、すべての単一文字 = を変更したい。

some=string=here=more_people 

some=string_here_more_people 
4

2 に答える 2

3

これでうまくいくはずだと思います:

function replacew(str,pattern,value){
    int index=str.search(pattern);
    return str.substr(0,index+1)+str.substr(index+1).replace(pattern,value);
}
于 2013-03-27T20:34:52.130 に答える
2

http://jsfiddle.net/EarUc/5/

文字列で開始する (empieza con alguna string)

var str1 = "=moo=kie=";

関数を呼び出します: (llame la function)

alert(replaceButFirst(str1, "="));

使用する次のコードを含めます: (incluya el codigo siguiente para usarlo)

function replaceButFirst(strOriginal, strToReplace){

var n=strOriginal.indexOf(strToReplace);
var firstPart = strOriginal.substring(0, n + 1);
    var tempString = strOriginal.substring(n + 1);
tempString = tempString.replaceAll(strToReplace, "");

return firstPart + tempString;

}

関数の元の使用法はここにあります

String.prototype.replaceAll = function(str1, str2, ignore) 
{
    return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/\$/g,"$$$$"):str2);
}
于 2013-03-27T20:58:30.457 に答える