JS 提取字串 普通方法VS正規表示式

2022-01-11 20:34:41 字數 1314 閱讀 8753

如下:「23nr qreq2 34fq4 4454gsr 45」

【將這一串字元中的數字挑出來,當然人家作伴的不能被分開】。

一、普通方法:

1

知識點:for遍歷,if判斷,字串length屬性+charat()方法,陣列push()方法,

注意關鍵點:

var tep = "";//用來裝正在過安檢的字元

var arr= ;//用來裝所有通過安檢的符合要求的妃子去見皇上。

for(var i=0;i//遍歷是方法

if(str.charat(i)> 0 && str.charat(i)< 9)else}}

//防止到了最後乙個字元還是數字所以迴圈的外邊,最後還是要再push+清空一下,這樣就算字串遍理完了,你還是會有最後乙個數字字元在上面的for遍歷中,因為沒有遇到else的情況,就不會被push到arr中,你可以嘗試刪除下面的if語句,就知道他的作用了。這個字元最後是45,遍歷完了依舊符合if(str.charat(i)> 0 && str.charat(i)< 9)的條件,不會執行else。

if(tep)

二、正則regexp【regular expression】

1

相當明顯,**少了n行。

知識點:regexp正規表示式,match()方法;

關鍵點:

match() 方法可在字串內檢索指定的值,或找到乙個或多個正規表示式的匹配。該方法類似 indexof() 和 lastindexof(),但是它返回指定的值,而不是字串的位置。

比較:search()和charat(),這倆貨返回的是字串的位置下標,是乙個數字。

var re = new regexp('\d','g');

//建立 regexp 物件的js風格的怎麼寫?

1:\d:表示查詢乙個0-9的數字,

引申:\d:表示乙個非數字的字元。

2:+:表示若干個,可以只找到乙個,也可以找到多個。如果不加這個,在這個專案中,他就會只找乙個乙個乙個乙個的找出來,類似第一種方法中,沒用+=的情況,這麼說,+又有累積的功能了,加上「算加法」和「連線符」的作用,他就三個功能了。

3:g:global的意思,全域性查詢,就是說,在所有字串中查詢。如果不加這個,他就找到第乙個2了。後邊就都不找了,類似於第一種方法中,不用for迴圈遍歷是一樣的。

用python正則提取字串的方法

在日常工作中經常遇見在文字中提取特定位置字串的需求.python的正則效能好,很適合做這類字串的提取,這裡講一下提取的技巧,正規表示式的基礎知識就不說了,有興趣的可以看re的教程.提取一般分兩種情況,一種是提取在文字中提取單個位置的字串,另一種是提取連續多個位置的字串.日誌分析會遇到這種情況.下面我...

提取字串substring

substring 方法用於提取字串中介於兩個指定下標之間的字元。語法 stringobject.substring startpos,stoppos 引數說明 注意 1.返回的內容是從 start開始 包含start位置的字元 到 stop 1 處的所有字元,其長度為 stop 減start。2....

js提取字串中的數字

前面帶數字,後面非數字的,可以使用parseint來提取 var date 周二 11月 10 16 22 36 2020 var date list date.split console.log date list var year date list 4 提取11月中的數字11 var mont...