Bir ipim var data-123
.
data-
Ayrılırken dizeden nasıl çıkarabilirim 123
?
Bir ipim var data-123
.
data-
Ayrılırken dizeden nasıl çıkarabilirim 123
?
Yanıtlar:
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
Atılan tüm tekrarlamalar için:
var ret = "data-123".replace(/data-/g,'');
Not: replace işlevi yeni bir dize döndürür ve orijinal dizeyi değiştirmeden bırakır, bu nedenle replace () çağrısından sonra işlev dönüş değerini kullanın.
Bunun jQuery ile bir ilgisi yok. Bunun için JavaScript replace
işlevini kullanabilirsiniz :
var str = "data-123";
str = str.replace("data-", "");
Bu işleve bir normal ifade de iletebilirsiniz. Aşağıdaki örnekte, sayısal dışında her şeyin yerini alacaktı:
str = str.replace(/[^0-9\.]+/g, "");
0-9
Belirtilirse neden sayılar dışında dize yerine neden anlamıyorum .
"data-123".replace('data-','');
Belirtildiği gibi kullanabilirsiniz , ancak dizeniz o zamanki gibi bir şeyse, eşleşen metnin İLK örneğini replace()
değiştirdiği gibi kullanabilirsiniz"data-123data-"
"data-123data-".replace('data-','');
yalnızca eşleşen ilk metnin yerini alacaktır. Ve çıktınız"123data-"
Bu nedenle, metnin tüm eşleşmelerinin dizede değiştirilmesini istiyorsanız, g
bayrak gibi normal bir ifade kullanmanız gerekir :
"data-123data-".replace(/data-/g,'');
Ve çıktınız "123"
başlangıçtan bitişe (dahil bitiş noktası) arasındaki karakterleri geri döndüren dilim () kullanabilirsiniz
string.slice(start , end);
nasıl çalıştığını göstermek için bazı exmp İşte:
var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end so output is "12"
var mystr=(",246").slice(1); // returens "246"
Sade eski JavaScript yeterli olacaktır - jQuery böyle basit bir görev için gerekli değildir:
var myString = "data-123";
var myNewString = myString.replace("data-", "");
Ek bilgi ve kullanım için bkz .replace()
. MDN belgeleri .
Ör: -
var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);
Umarım bu işinize yarayacaktır.
C # (Sharp) String.Remove yöntemine kullanıldım. Javascript'te dize için kaldırma işlevi yoktur, ancak substr işlevi vardır. Dizeden karakterleri kaldırmak için substr işlevini bir veya iki kez kullanabilirsiniz. C # yönteminin ilk aşırı String.Remove (int startIndex) gibi, başlangıç dizinindeki karakterleri dizenin sonuna kadar kaldırmak için aşağıdaki işlevi yapabilirsiniz:
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
ve / veya c # yönteminin ikinci aşırı yükü String.Remove (int startIndex, int count) gibi başlangıç dizini ve sayımındaki karakterleri kaldırmak için aşağıdaki işlevi de yapabilirsiniz:
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
ve sonra bu iki işlevi veya bunlardan birini ihtiyaçlarınız için kullanabilirsiniz!
Misal:
alert(Remove("data-123", 0, 5));
Çıktı: 123
Yaptığım bu küçük fonksiyon her zaman benim için çalıştı :)
String.prototype.deleteWord = function (searchTerm) {
var str = this;
var n = str.search(searchTerm);
while (str.search(searchTerm) > -1) {
n = str.search(searchTerm);
str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
}
return str;
}
// Use it like this:
var string = "text is the the cool!!";
string.deleteWord('the'); // Returns text is cool!!
En iyisi olmadığını biliyorum, ama her zaman benim için çalıştı :)
Kullanılması match()
ve Number()
bir dönüş number
değişkeni:
Number(("data-123").match(/\d+$/));
// strNum = 123
İşte yukarıdaki ifadenin yaptığı ... orta-kapalı çalışma:
str.match(/\d+$/)
- sonunda herhangi bir sayı uzunluğundaki eşleşmeleri içeren bir dizi döndürür str
. Bu durumda, tek bir dize öğesi içeren bir dizi döndürür ['123']
.Number()
- bir sayı türüne dönüştürür. Döndürülen dizi .match()
tek bir öğe içerdiğinden Number()
sayıyı döndürür.