String总结,自己在麦库记事 学习笔记的整理


----------------字符串信息:  结果是Number-----------------

1.得到索引值:

    Str.indexOf(substr)  //子字符串:单个或多个连续字符构成

    Str.search(RegExp)

2.长度:Str.length

------------------匹配:   结果是Sting,object---------------

不改变原字符串并且得到新的字符

(1)通过索引值(index):得到一个字符

          Str.CharAt(index)

          Str.substring(start[,end?])  // end 可有可无

          Str.substr(start[,end]?)

          Str.slice(start[,end]?)

  (2)  通过正则表达式:得到一个字符或字符型对象(多个字符时);

         Str.match(regexp)

       

  (3)  通过正则或子字符串得到修改后的新字符串:删除,替换

        Str.replace(regexp/substr,replacementString)  见RegExp应用篇

  (4)通过分隔符得到子字符串对象:

        Str.split(separator,howmany)

 (5)改变大小写:

        Str.toLowerCase();

        Str.toupperCase();

  (6)子字符合并:

    Str1 + Str2 + Str3

  e.g: var a ="StrOfa";

       var b="123"+ a + "    " +"321";// b= “123StrOfa    321”

                                                       //多少空格就是多少空格      

-------------------------转化为字符----------------------------------------

String( );

toString( );


-------------------------综合应用-------------------

删除第一个字符:

(1)空字符替换法

  var newStr = Str.replace(substr/regexp,"");

   其中:substr=Str.substr(0,1) / CharAt(0) / substring(0,1) / 

                                 slice(0,1) / match(/./)

              regexp=/./

(2)获取除第一个字符法:

   var newStr = Str.substr(1);/substring(1)/slice(1)

(3)正则表达式除第一个字符捕获法:

   var arrStr=Str.match(/.(.*)/);

   var newStr=arr[1];



=======================================================

演示的代码,你可以在chrome浏览器的Console面板中逐个练习:

"micromajor".length  // 10

---------------------------------


"micromajor".charAt(0)   // "m"     按索引值定位字符

"micromajor".charAt(100) // ""       空字符(不存在)

-----------------------------------


"micro-major".indexOf("-")     // 5        求 第一次出现指定字符(串)的索引值

"micro-major-web".indexOf("-") // 5    

"micro-major".indexOf("major") // 6  

"micromajor".indexOf("-")      // -1            无该字符

--------------------------------------------


"micromajor163".search(/[0-9]/) // 10      按正则搜索第一次出现数字的索引值

"micromajor163".search(/[A-Z]/) // -1        无该字符

-------------------------------------得到一个新字符型对象


"micromajor163".match(/[0-9]/) // ["1"]          按正则匹配出第一个数字

"micromajor163".match(/[0-9]/g)// ["1","6","3"]                   全局

"micromajor163".match(/[A-Z]/) // null                  无匹配字符

------------------------------------------


"micromajor163".replace("163","###")  // "micromajor###"   替换字符串

"micromajor163".replace(/[0-9]/,"#")  // "micromajor#63"              第一个数字

"micromajor163".replace(/[0-9]/g,"#") // "micromajor###"             全部数字

"micromajor163".replace(/[0-9]/g,"")  // "micromajor"                     等价于删除

-------------------------------------------------------------------


"micromajor".substring(5,7)  // "ma"                         取出第5到(7-1)的连续子字符串

"micromajor".substring(5)    // "major"                                          结束

-----------------------------------------------------------

"micromajor".slice(5,7)   // "ma"                                 

"micromajor".slice(5)     // "major"                    

"micromajor".slice(1,-1)  // "icromajo"                  同上,-1 是倒数第一个数

"micromajor".slice(-3)    // "jor"                                   

--------------------------------------------------------------------


"micromajor".substr(5,2)  // "ma"                         取出第5开始的2个连续字符的子字符串

"micromajor".substr(5)    // "major"                                             全部

-------------------------------------------------


"micro major".split(" ")     // ["micro","major"]            以空字符为分离点          

"micro major".split(" ",1)   // ["micro"]                                                     分成1份

"micro2major".split(/[0-9]/) // ["micro","major"]             数字字符

------------------------------------------------------

"MicroMajor".toLowerCase()  // "micromajor"                全部小写


"MicroMajor".toUpperCase()  // "MICROMAJOR"                  大写

--------------------------------------------------------------------------

"0571" + "-" + "88888888"  // "0571-88888888"            “+”两端字符连接

=====================String(value )和toString(进制基数)===========================

String(163)  // "163"                        非null和undefined调用toString    

String(null) // "null"                         是                           返回本身值

----------------------toString(每个值(除了null和undefined)都有的方法)类似parseInt(“value”,基数)---------------

后者的基数辅助识别value(是数字字符串时)是几进制的;前者控制输出的数字字符串输出

"100".toString( ) //"100"                                   :字符串直接传入传出;

var num=10; num.toString(16 )  // "a"               :Number类型,输出转换为16进制数字再变成字符串;

parseInt("10.1",16)  //16                                  :“10.1”是16进制数字字符串“0x10.1”,输出为唯一的10进制:16; 

=====================================================

"micro\"major"  // "micro"major"            字符串内的转义字符  "\" +"字符"表示:  "

"micro\\major"  // "micro\major"                                                                             \

"micro\tmajor"  // "micro major"                                                                        tab


转载于:https://my.oschina.net/Bidongming/blog/523475

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值