data-123
ひもを持っています。
data-
を残しながら文字列から削除するにはどうすればよい123
ですか?
data-123
ひもを持っています。
data-
を残しながら文字列から削除するにはどうすればよい123
ですか?
回答:
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
破棄されるすべてのオカレンスについては、以下を使用します。
var ret = "data-123".replace(/data-/g,'');
PS:replace関数は新しい文字列を返し、元の文字列は変更されないままにするため、replace()呼び出しの後に関数の戻り値を使用します。
これはjQueryとは何の関係もありません。replace
これにはJavaScript 関数を使用できます。
var str = "data-123";
str = str.replace("data-", "");
この関数に正規表現を渡すこともできます。次の例では、数値以外のすべてを置き換えます。
str = str.replace(/[^0-9\.]+/g, "");
0-9
指示された場合、数字以外の文字列を置き換える理由がわかりません。
あなたは使用することができます"data-123".replace('data-','');
ように述べたように、しかし、replace()
唯一の置き換えFIRST一致するテキストのインスタンスを、あなたの文字列のようなものだった場合、"data-123data-"
その後、
"data-123data-".replace('data-','');
最初に一致したテキストのみを置き換えます。そしてあなたの出力は"123data-"
したがって、テキストのすべての一致を文字列に置き換える場合はg
、次のようなフラグを使用して正規表現を使用する必要があります。
"data-123data-".replace(/data-/g,'');
そしてあなたの出力は "123"
あなたはslice()を使用することができますそれは開始から終了まで(エンドポイントを含む)の間に文字を回収します
string.slice(start , end);
これがどのように機能するかを示すいくつかの例です:
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"
プレーンな古いJavaScriptで十分です-そのような単純なタスクにはjQueryは必要ありません。
var myString = "data-123";
var myNewString = myString.replace("data-", "");
追加情報と使用法については、.replace()
MDNのドキュメントを参照してください。
C#(シャープ)のString.Removeメソッドに慣れていました。JavaScriptには、文字列の削除機能はありませんが、substr関数はあります。文字列から文字を削除するには、substr関数を1回または2回使用できます。次の関数を作成して、c#メソッドが最初にString.Remove(int startIndex)をオーバーロードするように、開始インデックスから文字列の末尾までの文字を削除できます。
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
または、c#メソッドの2番目のオーバーロードString.Remove(int startIndex、int count)と同じように、開始インデックスとカウントで文字を削除する次の関数を作成することもできます。
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
そして、あなたはあなたのニーズのためにこれらの2つの機能またはそれらの1つを使用することができます!
例:
alert(Remove("data-123", 0, 5));
出力:123
私が作ったこの小さな機能はいつも私のために働いてきました:)
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!!
私はそれが最高ではないことを知っていますが、それはいつも私のために働いてきました:)
match()
and Number()
を使用してnumber
変数を返す:
Number(("data-123").match(/\d+$/));
// strNum = 123
上記のステートメントが行うことは次のとおりです...
str.match(/\d+$/)
-の末尾にある任意の長さの数値との一致を含む配列を返しますstr
。この場合、単一の文字列アイテムを含む配列を返します['123']
。Number()
-数値型に変換します。から返される配列に.match()
は単一の要素Number()
が含まれているため、数値が返されます。