一、背景
在日常項(xiàng)目中,發(fā)現(xiàn)會(huì)經(jīng)常用到JS基本數(shù)據(jù)類型相關(guān)的一些操作。經(jīng)常是當(dāng)場搜索相關(guān)的用法。還是不利于自己學(xué)習(xí)。所以還是記錄以下,增加自己的記憶。
二、字符串相關(guān)
1.移除字符串中某些特定的字符。
1.1使用replace()函數(shù)替換
# 去除myStr字符串中的, : ; = '[ ] ' + 等符號
var myStr = "123,abc:456;abc=abc[]";
myStr.replace(/[,:;=\[\]]+/g,'');
output: "123abc456abcabc"
1.2使用split()和join()函數(shù)
# 去掉冒號:
var myString = "12:30:21"
var handledString = myString.split(":").join("")
output: "123021"
# 去除myStr字符串中的, : ; = '[ ] ' + 等符號
var myStr = "123,abc:456;abc=abc[]";
var handledString = my_str.split(/[,:;]/).join("")
output: "123abc456abc=abc[]"
兩中方法都使用了正則表達(dá)式進(jìn)行處理。
2.刪除字符串最后一個(gè)字符。
2.1使用substring()函數(shù)
# 去除字符串中最后一個(gè),
var myString = "1,2,3,4,"
var handledString = myString.substring(0, s.length-1)
output: "1,2,3,4"
substring(start, end)函數(shù),經(jīng)常用于提取一個(gè)字符串中下標(biāo)在[start, end)之間的子字符串。包含start,不包含end。
- 如果 start 與 end 相等,那么該方法返回的就是一個(gè)空串(即長度為 0 的字符串)。
- 如果 start 比 end 大,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(shù)。
- 如果 start 或 end 為負(fù)數(shù),那么它將被替換為 0。
3.獲取字符串中子字符串。
3.1 使用2.1中的substring()函數(shù),但需要指定下標(biāo)。
3.2使用substr()函數(shù)
var myString = "0123456789"
# 獲取從第6位開始的所有剩余字符, 下標(biāo)從0開始
var handledString = myString.substr(5)
substr(start, length)函數(shù),用于返回一個(gè)從指定位置開始的指定長度的子字符串。
參數(shù)說明
- start 必須要有,所需字符串的起始位置。
- length 可選,返回的字符串中應(yīng)包含字符的個(gè)數(shù)
- 如果start為負(fù)數(shù),那么start=str.length+start
- 如果length為0或者負(fù)數(shù),就會(huì)返回一個(gè)空字符串
- 如果不指定length參數(shù),則字符串就會(huì)一直到str的末尾
4.判斷字符串是否在另一個(gè)字符串中。
4.1使用indexof()函數(shù)
var fullStr = 'helloWorld';
if(fulleStr.indexof('hello')){
alert('fullStr has str hello');
}
fullStr.indexof(str)函數(shù),用于返回String對象內(nèi)第一次出現(xiàn)子字符串的字符位置。如果沒有找到子字符串就會(huì)返回-1
未完待續(xù).................