javascript中,substr | slice、substring的區別
阿新 • • 發佈:2019-01-03
假如有一種資料,格式為 平年2018/12/12 08:51PM,如何獲取字串2018/12/12 08:51
const str = '平年2018/12/12 08:51PM'; // '2018/12/12 08:51'.length === 16 // 第一種 slice, 看文件吧... console.log(str.slice(2, -2)); // 第二種 substring(i1,i2), 從下標i1 ~ i2#之間#的字元,注意是之間,i2 === 目標字元下標 + 1 console.log(str.substring(2, 18)); // 平年2018/12/12 08:51 -> 最後一個1的下標是17,所以i2 === 18 // 第三種 substr(i,n), 從下標i開始,擷取n個字元,不推薦使用,因為不是標準規範 console.log(str.substr(2, 16)); /* substring、substr關於負數 */ /** * substring(i1,i2) * 均不接受負數, 如果傳入負數其實也有值返回,我想是內部做了處理 * */ console.log(str.substring(2, -2) === str.substring(0, 2)); console.log(str.substring(-2) === str.substring(0)); /** substr(i1,n) * 如果n < 0, 那麼 n === 0, 意思就是不接受負數, 傳入負數會被當做0 */ console.log(str.substr(-7, 5)); // 08:51 console.log(str.substr(-2)); // PM