專案常用JS方法封裝(三) [ 字串相關處理 ]

YXi發表於2020-01-12

持續更新中...

封裝方法傳送門:


使用方法非常簡單,只需放到你的 utils.js 工具檔案中,直接 export const 加上我的封裝方法,在別的檔案中使用{方法1,方法2,方法3...}引用後就可以直接使用了!

001.字元替換

可以替換任意數字和符號

/**
*   str 表示將要替換的字串
*   l 表示你將要替換的字元
*   r 表示你想要替換的字元
*/
transFormat = (str, l, r) => {
    let reg = new RegExp(l, 'g') // g表示全部替換,預設替換第一個
    str = str.replace(reg, r)
    return str
}

console.log(transFormat('2019-12-13', '-', '/')); // 2019/12/13
console.log(transFormat('2019-12-13', '-', '')); // 20191213
複製程式碼

002.在字串指定位置插入字元

/**
*   character 原字串(String)
*   site 要插入的字元的位置 (Number)
*   newStr 想要插入的字元 (String)
*/
insertStr = (character, site, newStr) => {   
  return character.slice(0, site) + newStr + character.slice(site);
}

console.log(insertStr('20191217',4,'-'));   // 2019-1217
複製程式碼

003.字串反轉處理分割

/**
*   str 是你將要進行處理的字串(String)
*   under 是你根據什麼字元處理(String)
*   event 是你根據什麼字元把處理結果分割(String)
*/
keyCharacterMap = (str,under,event) => {
  return str.split(under).reverse().join(event)
}

console.log(keyCharacterMap('hello world','',''));  //  dlrow olleh
console.log(keyCharacterMap('hello world',' ','-'));  //  world-hello
複製程式碼

004.擷取指定字元之前之後的字串

//  擷取指定字元之前的字串
beforeStrSub = (str, char) => {
  return str.split(char)[0]
}

//  擷取指定字元之後的字串
afterStrSub = (str, char) => {
  return str.split(char)[1]
}

//  測試資料
let str = 'abc:de;fghi.jk';
console.log(beforeStrSub(str, ';'));  // abc:de
console.log(afterStrSub(str, 'f'));   // ghi.jk
複製程式碼

005.擷取指定字元之間的字串

/**
*   str 要擷取的字串 (String)
*   start 字串擷取的開始位置 (String)
*   end 字串擷取的結束位置 (String)
*/
betweenStrSub = (str, start, end) => {
  temp = str.split(start, 2);
  content = temp[1].split(end, 2);
  return content[0];
}

//  測試資料
let str = 'abc:de;fghi.jk';
console.log(betweenStrSub(str, ':', '.'));  // de;fghi
console.log(betweenStrSub(str, 'bc', 'k'));  // :de;fghi.j
console.log(betweenStrSub(str, ':', 'k'));   // de;fghi.j
複製程式碼

006.字串反轉

/**
 *  str 要反轉的字串
 */
strInversion = str => { 
  str = str + ''; 
  let newStr=[]; 
  newStr=str.split("").reverse().join(""); 
  return newStr
}

//  測試資料
console.log(strInversion("I Love You!"));   // !uoY evoL I
複製程式碼

007.在字串中查詢指定的字元或者字串

/**
 * str 將要查詢的字串
 * queryStr 想要在字串中查詢的字元或字串
 * 
 * 如果在字串中有這個字元或者字串,返回1,否則返回-1
 */
judgeStrHave = (str,queryStr) => {
  return str.indexOf(queryStr) === -1?-1:1
}

//  測試資料
let str = "ab66a0cc-25b4-44ab-9e17-5043d4fb9056_200×200";
console.log(judgeStrHave(str,'×'));
複製程式碼

相關文章