Mam data-123
sznurek.
Jak mogę usunąć data-
ciąg, pozostawiając 123
?
Mam data-123
sznurek.
Jak mogę usunąć data-
ciąg, pozostawiając 123
?
Odpowiedzi:
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
Aby usunąć wszystkie wystąpienia, użyj:
var ret = "data-123".replace(/data-/g,'');
PS: Funkcja replace zwraca nowy ciąg i pozostawia oryginalny ciąg bez zmian, więc użyj wartości zwracanej przez funkcję po wywołaniu replace ().
To nie ma nic wspólnego z jQuery. Możesz użyć replace
do tego funkcji JavaScript :
var str = "data-123";
str = str.replace("data-", "");
Możesz także przekazać wyrażenie regularne do tej funkcji. W poniższym przykładzie zastąpiłoby wszystko oprócz cyfr:
str = str.replace(/[^0-9\.]+/g, "");
0-9
zostało to wskazane.
Możesz użyć "data-123".replace('data-','');
, jak wspomniano, ale ponieważ replace()
tylko zastępuje PIERWSZĄ instancję pasującego tekstu, jeśli łańcuch był podobny do "data-123data-"
tego wtedy
"data-123data-".replace('data-','');
zastąpi tylko pierwszy pasujący tekst. I twój wynik będzie"123data-"
Jeśli więc chcesz, aby wszystkie dopasowania tekstu zostały zastąpione ciągiem, musisz użyć wyrażenia regularnego z taką g
flagą:
"data-123data-".replace(/data-/g,'');
I twój wynik będzie "123"
możesz użyć slice (), który zachowuje znaki od początku do końca (dołączony punkt końcowy)
string.slice(start , end);
oto kilka exmp, aby pokazać, jak to działa:
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"
Wystarczy zwykły stary JavaScript - jQuery nie jest konieczne do tak prostego zadania:
var myString = "data-123";
var myNewString = myString.replace("data-", "");
Zobacz: .replace()
dokumenty w MDN, aby uzyskać dodatkowe informacje i sposób użycia.
Dawny:-
var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);
Mam nadzieję, że to zadziała dla ciebie.
Byłem przyzwyczajony do metody C # (Sharp) String.Remove. W JavaScript nie ma funkcji usuwania ciągu, ale jest funkcja substr. Możesz użyć funkcji substr raz lub dwa razy, aby usunąć znaki z łańcucha. Można wykonać następującą funkcję, aby usunąć znaki przy indeksie początkowym do końca łańcucha, podobnie jak metoda przeciążająca najpierw metodę C # String.Remove (int startIndex):
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
i / lub możesz również wykonać następującą funkcję, aby usunąć znaki przy indeksie początkowym i policzyć, podobnie jak w przypadku drugiego przeciążenia metody c # String.Remove (int startIndex, int count):
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
a następnie możesz użyć tych dwóch funkcji lub jednej z nich do własnych potrzeb!
Przykład:
alert(Remove("data-123", 0, 5));
Wyjście: 123
Ta mała funkcja, którą stworzyłem, zawsze działała dla mnie :)
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!!
Wiem, że to nie jest najlepsze, ale zawsze działało dla mnie :)
Używanie match()
i Number()
do zwracania number
zmiennej:
Number(("data-123").match(/\d+$/));
// strNum = 123
Oto, co robi powyższe stwierdzenie ... działające w środku:
str.match(/\d+$/)
- zwraca tablicę zawierającą dopasowania do dowolnej długości liczb na końcu str
. W takim przypadku zwraca tablicę zawierającą element pojedynczego ciągu ['123']
.Number()
- konwertuje go na typ liczbowy. Ponieważ tablica zwrócona z .match()
zawiera pojedynczy element Number()
zwróci liczbę.