javascript - Mengenai pemintasan rentetan
ringa_lee
ringa_lee 2017-05-19 10:11:49
0
8
617

Sebagai contoh, terdapat rentetan a = "8px";
Bilangan digit dalam nombor itu tidak semestinya jika saya mahu memintas nombor itu, saya mahu menggunakan a.substring(0,a.indexOf("). p")). Saya pada asalnya mahu menggunakan a.substring( 0,-2); Tetapi selepas menyemak, saya mendapati bahawa parameter substring tidak boleh menjadi nombor negatif, tetapi saya fikir a.substring(0,a.indexOf( "p")) agak menyusahkan. Adakah terdapat kaedah pengoptimuman yang lebih langsung?

ringa_lee
ringa_lee

ringa_lee

membalas semua(8)
漂亮男人

var a="88px";
Jika formatnya konsisten, bahagian pertama ialah nombor dan hanya nombor yang perlu diekstrak:
parseInt(a);//88#🎜 🎜#

仅有的幸福

Gunakan peraturan biasa

console.log('8px'.match(/(\d+)/)[0])
Peter_Zhu

Yang pertama boleh menggunakan kaedah subrentetan: a.substring(0,a.length-2)
Yang kedua boleh menggunakan ungkapan biasa: var a='8px';a.replace(/px$/ig,'' )

滿天的星座
var a = '8px';
a.slice(0,-2);
大家讲道理

parseInt,parseFloat,slice,regexp

洪涛
var str1 = "8px",
    str2 = "88px",
    str3 = "888px",
    str4 = "8.88px";
    
str1.replace(/(.*)px/, ""); //8
str2.replace(/(.*)px/, ""); //88
str3.replace(/(.*)px/, ""); //888
str4.replace(/(.*)px/, ""); //8.88
巴扎黑

Adalah paling mudah untuk menggunakan ungkapan biasa

var reg = /([\d\.]+)px/; // 使用这个正则匹配
var arr = ['8px', '18px', '28px', '0.08px']
for (let i = 0, len = arr.length; i < len; i++) {
    console.log(arr[i], arr[i].match(reg)[1]);  // 结果arr[i].match(reg)[1]
}
黄舟

Saya terdiam untuk anda semua, bolehkah saya menggunakan parseInt, parseFloat

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan