30/09/2018, 16:26

Cách cắt chuỗi trong JS?

Mình có một đoạn text như thế này:

/cgi-bin/luci/;stok=0bf6828c0c2b5796df106e157a3f618f/admin/network/wireless/wifi1.network1
/cgi-bin/luci/;stok=0bf6828c0c2b5796df106e157a3f618f/admin/network/wireless/wifi0.network1

Cắt lấy đoạn wifi0wifi1 bằng JS như thế nào cho nhanh nhỉ?

X viết 18:31 ngày 30/09/2018

/cgi-bin/luci/;stok=0bf6828c0c2b5796df106e157a3f618f/admin/network/wireless/wifi1.network1

có học sơ qua JS. chắc dùng “substring(76, 81)” được nếu độ dài các chuỗi như nhau =)))

Nguyễn Minh Dũng viết 18:27 ngày 30/09/2018

Không ổn, độ dài có thể thay đổi trong tương lai mà mình không biết được. Làm vậy dễ sai lắm.

Anh viết thế này, code bừa quá nhưng không rành JS nên …

Về bản chất là cắt cái chuỗi ở chỗ wifi ra, sau đó lấy cái số 0 hoặc 1

function getWifiDeviceFromLink(alink) {
    var res = alink.split("wifi");
    alink = res[1];
    // alink == 1.network1
    res = alink.split(".");
    // res[0] == 1
    return Number(res[0]);
}

alink = "/cgi-bin/luci/;stok=0bf6828c0c2b5796df106e157a3f618f/admin/network/wireless/wifi1.network1"
getWifiDeviceFromLink(alink);

Sáng Béo viết 18:41 ngày 30/09/2018

e ko biết a ạ . TT.TT

Nguyễn Minh Dũng viết 18:29 ngày 30/09/2018

Anh muốn dùng nhưng không biết áp dụng sao, cho anh xin cái lệnh đi

Anh nghĩ mình có thể lấy được wifi1 bằng một dòng lệnh với regular expression

Gió viết 18:27 ngày 30/09/2018

Dùng RegExp là nhanh nhất:
console.log(str.match(//(wifi\d)/g));
//= [“wifi1”,“wifi0”]

Sáng Béo viết 18:36 ngày 30/09/2018

e ko biết viết a ơi. TT.TT

X viết 18:27 ngày 30/09/2018

:)) học biết sơ qua nên k rõ lắm. hiện vẫn đang code java @@

Nguyễn Minh Dũng viết 18:40 ngày 30/09/2018

Thank @Gio

anh sửa lại tí vì anh không cần cái \/

console.log(str.match(/(wifi\d)/g));
//= ["wifi1","wifi0"]
Bài liên quan
0