CoffeeScript 查找子字符串

2022-06-29 17:12 更新

查找子字符串

問題

你需要搜索一個字符串,并返回匹配的起始位置或匹配值本身。

解決方案

有幾種使用正則表達式的方法來實現(xiàn)這個功能。其中一些方法被稱為RegExp模式或對象還有一些方法被稱為 String 對象。

RegExp 對象

第一種方式是在RegExp模式或對象中調用test方法。test方法返回一個布爾值:

match = /sample/.test("Sample text")
# => false

match = /sample/i.test("Sample text")
# => true

下一種方式是在RegExp模式或對象中調用exec方法。exec方法返回一個匹配信息的數(shù)組或空值:

match = /s(amp)le/i.exec "Sample text"
# => [ 'Sample', 'amp', index: 0, input: 'Sample text' ]

match = /s(amp)le/.exec "Sample text"
# => null

String 對象

match方法使給定的字符串與表達式對象匹配。有“g”標識的返回一個包含匹配項的數(shù)組,沒有“g”標識的僅返回第一個匹配項或如果沒有找到匹配項則返回null。

"Watch out for the rock!".match(/r?or?/g)
# => [ 'o', 'or', 'ro' ]

"Watch out for the rock!".match(/r?or?/)
# => [ 'o', index: 6, input: 'Watch out for the rock!' ]

"Watch out for the rock!".match(/ror/)
# => null

search方法以字符串匹配正則表達式,且如果找到的話返回匹配的起始位置,未找到的話則返回-1。

"Watch out for the rock!".search /for/
# => 10

"Watch out for the rock!".search /rof/
# => -1

討論

正則表達式是一種可用來測試和匹配子字符串的強大的方法。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號