JavaScript:內建類和方法:字串 / 正則
字串
字串可以理解為由單個字元組成的陣列。所以它可以像陣列一樣使用:
屬性:length
下標[]:(從0開始)
但是,注意:字串是“不可更改(imutable)”的,所以str[3]='x'無效,同樣的,以下所有字串方法都不會修改原字串,而是返回一個新字串。
以下方法皆透過字串物件呼叫,是例項方法:
-
toUpperCase()/toLowerCase():轉換為大寫/小寫,主要用於忽略大小寫的比較(先轉換再比較)
if(str.toLowerCase() == 'feige'){
-
indexOf(target):返回target在字串中的位置(索引值),找不到就返回-1
'源棧歡迎你'.indexOf('你') //4'源棧歡迎你'.indexOf('飛哥') //-1
-
substring(?start, ?end) :擷取從start開始(預設為0),到end為止(預設為最後)的字串
'源棧歡迎你'.substring(2,4) //'歡迎''源棧歡迎你'.substring(2) //'歡迎你'
substring()經常和indexOf()聯合使用,@想一想@:幹嘛用呢?
RegExp
複習:正規表示式
示範查出:
所有的a標籤:<a.*?/a>
所有帶class屬性的a標籤:<a[^//a]*?class.*?/a>
建立正規表示式:
字面量:兩個斜槓(//)包裹,如:/<a.*?/a>/gi,注意不要加引號
轉義:''''
-
RegExp建構函式:(表示式會動態改變時使用)
var regex = new RegExp("<a.*?/a>", "gi");
gim是指示標誌(flag):g=>global(在match()和exec()中體現差異),i => ignore case,m=>multiple line
test():Regexp方法,返回 true/false
-
exec():Regexp方法,返回 array/null
返回的是陣列,但是陣列中只有一個元素:第一次匹配成功的字串var reg = /<a.*?>/gim, li = `<li class="dropdown-header">督導班</li> <li><a href="/Course/Confusion/New"><span class="fa fa-eye"></span> 督導班</a> </li> <li><a href="/Course/Confusion/Edit"><span class="fa fa-edit"></span> 疑問釋出</a> </li> <li><a href="/Course/Confusion"><span class="fa fa-list"></span> 疑問列表</a> </li> <li class="divider"></li> <li><a href="/Problem?excludeCanceled=true&excludeRewarded=true"><span class="fa fa-list"></span> 列表</a> </li> <li><a href="/Problem/New"><span class="fa fa-edit"></span> 釋出</a></li>`; //非常非常坑的函式:返回的是一個陣列,陣列中卻始終只有一個元素,還需要while迴圈才能取出所有匹配結果 while ((result = reg.exec(li)) !== null) { console.log(result[0] + ': ' + reg.lastIndex); }; console.log(result);
以下幾個方法,引數可以是字串,也可以是正規表示式:
search():同indexOf()
-
match():非常奇怪
返回的是一個“只有一個元素的陣列”,
而且這個陣列裡又還包含了一些其他屬性(index啥的),
同時這個方法還可以反覆呼叫,依次查詢……
找不到的話,返回null
如果找到的話,
這個汗啊,-_-||
-
replace(a,b):用a替換b。注意:replace()不會改變字串的內容,需要重新賦值一次
var result = li.replace(reg, function (match, index) { //match: 匹配成功的字串 //index:字串所在的位置(索引) //return:用於替換 匹配成功字串 的字串 return match.toUpperCase() + 'with index:' + index;});
String()和toString():
null和undefined沒有toString()
123.toString():不要問我為什麼,因為這就是JavaScript……
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2983/viewspace-2826887/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript析構+正則的字串解析方法JavaScript字串
- 字串、列表、字典內建方法字串
- Javascript正則JavaScript
- SAP ABAP 字串內數字去前導零的兩種方法(正則/拼接)字串
- javascript 常用正則JavaScript
- 字串的match方法與正則的exec方法的區別字串
- 字串常用內建方法-python3字串Python
- JavaScript正則爬坑JavaScript
- ES(JavaScript)內建型別及方法JavaScript型別
- js提取正則中的字串JS字串
- Python 的內建字串方法(收藏專用)Python字串
- JavaScript類似c#字串處理方法format()JavaScriptC#字串ORM
- JavaScript_正則例項JavaScript
- javascript基礎(包裝類和字串相關的方法)(二十三)JavaScript字串
- while迴圈補充、for迴圈、range關鍵字、內建方法之整型、內建方法之浮點型、內建方法之字串While字串
- 正則匹配指定字元之前的字串字元字串
- 課時14:字串:各種奇葩的內建方法字串
- 探究js正則匹配方法:match和execJS
- javascript字串處理類JavaScript字串
- 內部類,Object,字串Object字串
- JavaScript 正則入門到掌握JavaScript
- JavaScript正則學習筆記JavaScript筆記
- JavaScript正則中g標誌JavaScript
- JavaScript正則庫:XRegExpJavaScript
- PHP 正則提取字串中的美元PHP字串
- iOS擷取特定的字串(正則匹配)iOS字串
- 專題:Python 的內建字串方法(收藏專用)Python字串
- js正則建立物件方法JS物件
- 你真的懂JavaScript的正則嗎?JavaScript
- Javascript內建變數top和parent區別JavaScript變數
- php正則匹配到字串裡面的a標籤PHP字串
- python 的數值和字串和相關內建函式Python字串函式
- 使用正則實現 getType方法
- 正則匹配方法及示例
- 在一串字串中Java使用正則匹配電話號碼的方法字串Java
- 內建資料結構-字串資料結構字串
- javascript正則--零寬斷言--案例解析JavaScript
- 前端技術分享:JavaScript正則全面解析前端JavaScript