首页 > 代码库 > 简单操作字符串

简单操作字符串

使用javascript实现常用的字符串操作。

一,字符串按逗号分割装入数组,使用split()函数可以实现。

var str=",,,,,,,,,,,abc,123,4cc,569,dfk,,,,,,,,";function goArray(str){    var arr=[];    var s="";    var j=0;    for(var i=0;i<str.length;i++){        if(str.charAt(i)!=‘,‘&&i!=str.length-1){            s+=str.charAt(i);        }        else if(i==str.length-1&&str.charAt(i)!=‘,‘){            s+=str.charAt(i);            arr[j]=s;        }        else{        if(s!=""){                arr[j]=s;        j++;        s="";        }        }    }    console.log(s);    console.log(arr);}console.log("abc");goArray(str);console.log(str);

 

二,把数组里的数取出来拼接成字符串,使用join()函数可以实现。

var arr=[‘abc‘,‘123‘,‘jack‘,‘fuck‘,‘669‘];function goString(arr){    var str="";    for(var i=0;i<arr.length;i++){        if(i!=arr.length-1) str+=arr[i]+‘:‘;        else{str+=arr[i];}    }    console.log(str);}goString(arr);

 

三,拼接字符串。

var a="jack";var b="rose";function newStr(str1,str2){    var str=str1+str2;    console.log(str);}newStr(a,b);

 

4,替换字符串,使用replace()函数可以实现。

var str="Guys,people will not forget you. People loves you.";function replaceStr(str1,str2,str){    var num=0;var ss="";    for(var i=0;i<str.length;i++){        if(str.charAt(i)==str1.charAt(0)){            for(var s=0;s<str1.length-1;s++){               if(str.charAt(i+s+1)==str1.charAt(s+1)){                   num++;                   console.log(" num = "+num);               }             }                  if(num==str1.length-1){               num=0;               ss+=str2;               i+=str1.length-1;               console.log("when num==5,num=  "+num);               console.log("when num==5,s=  "+ss);               }               else                ss+=str.charAt(i);               num=0;        }        else            ss+=str.charAt(i);            console.log("when i= "+i+" , s=  "+ss);    }    console.log(ss);}replaceStr(‘people‘,‘jack‘,str);console.log(str.replace(/people/g,‘jack‘));

 

五,删除部分字符串,使用substring()可以实现。

var str="YOUAREJUSTASHITYOUKNOW?";function cutStr(str1,str){    var ss="";     var num=0;    for(var i=0;i<str.length;i++){        if(str.charAt(i)==str1.charAt(0)){            for(var j=0;j<str1.length-1;j++){                if(str.charAt(i+j+1)==str1.charAt(j+1)){num++;}            }            if(num==str1.length-1){                i+=str1.length-1;            }else{                ss+=str.charAt(i);            }            num=0;        }else{            ss+=str.charAt(i);        }    }    console.log(ss);}cutStr(‘YOU‘,str);console.log(str);

 

六,一道小题:把任意数字加上逗号,使之符合钱数的表示方式:699,998 或 8,999 。

解1:

var money=‘9899999‘;var moon="";function getMoney(money){    if(money.length<4){    moon=money;    return;    }    for(var i=0;i<money.length;i++){        if(i<money.length%3){            moon+=money[i];            console.log(‘moon=  ‘+moon);            if(i==money.length%3-1)       moon+=‘,‘;         }else{       if((i-money.length%3)%3==0&&i!=money.length%3)           moon+=‘,‘;       moon+=money[i];        }    }}getMoney(money);console.log(moon);

 

解2:

var str=‘208299‘;var sin=‘‘;for(var i=n=str.length; i>0; sin=((n-i--)%3==2&&i!=0?‘,‘+str[i]:str[i])+sin);console.log(sin);