jqueryで部分文字列を作成する方法


115

クライアント側でjqueryを使用して「nameGorge」をサブストリング化し、「name」を削除して「Gorge」だけを出力するにはどうすればよいですか?

var name = "nameGorge"; //output Gorge

15
jQueryはJavaScriptで記述されたライブラリです。JavaScriptの上で使用されます。あなたが求めていることは、jQueryライブラリをまったく使用する必要なく、JavaScriptで行うことができます。
ジェフ

1
jQuery IS JavaScript(正確にはJavaScriptライブラリですが、それでもJavaScriptです)。そうは言っても、部分文字列を取得するためにjQueryを使用することは、これまでのJavaScriptの場合よりも簡単に記述できるとは思いません。
VoidKing 2013年

回答:


235

jQueryは必要ありません。部分文字列メソッドを使用するだけです:

var gorge = name.substring(4);

または、削除するテキストが静的でない場合:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');

5
申し訳ありませんが、私が眠りについた後、これがそれほど激しく爆発することを期待していませんでした。ここで少し片付けました。その間、誰かがこれ
BoltClock

Hey BoltClock:お元気ですか?私はここでポイントを証明しようとしていました。ありがとうございます。つまり、クライアントのコードを改定しようとしていて、ここに答えを探しに来た場合、オペレーションのマークされた答えは彼にとって満足のいくものです。次に、同じ質問を投稿することも、問題の例を示すこともできません。非常に興味深いので、jQuery関数を実行していて、.splitを使用している場合、私はjQueryを介してトリガーするために、ネイティブJSウェイまたは何らかの種類のトンネリングまたはプロキシを参照します。また、質問を読んだ場合。
Jean Paul AKA el_vete

私のポイントは、私にとってはjQuery名前空間内で作業しているということですが、JSから直接string.splitを呼び出す場合はあまり気にしませんが、コミュニティからは、その正確な質問を投稿すれば、この応答は、jQuery.splitドキュメントの参照がどこかにあるという事実よりも受け入れられるため、コードとすべてのjQueryに競合を与えずにそこにあるため、狭くなっているとマークされます削除された画像であなたが見ることができたプラグイン...もう一度感謝します
Jean Paul AKA el_vete

5
@JeanPaul-jQueryにはsplit()がありません。私たちはすでにこれを超えています。以前にリンクした記事はどちらも、text()を使用してJavaScript文字列を取得し、次にstring.split()を呼び出しました。この場合、あなたはただ間違っているだけです。もうやめろ。
Justin Niessner、2013年

52

を使用し.split()ます。(2番目のバージョンはとを使用.slice().join()ます。)

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

を使用し.replace()ます。

var result = name.replace('name','');

.slice()文字列での使用。

var result = name.slice( 4 );

jqueryは置換をサポートしていません。これはバニラjsです
ジュード


9

それは単なるJavaScriptのだ:参照substringsubstr


1
または、確かにslice()。奇妙なJSは、同じことを言うために微妙に異なるすべての方法を持つ必要があります。配列でslice()一貫して動作しslice()、index-from-endの負の開始インデックスと終了インデックスを許可するため、これは私の推奨される方法です。
ボビンス

@bobince:確かに、私はどの覚えたことがないsubstringし、substr長さのパラメータを受け取り、終了インデックスをとる-私はいつも見つけるためにドキュメントを検索する必要があります。
カサブランカ2010年

4

そのためにjqueryは必要ありません。

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);

私はクライアント側でそれをする必要があり、私はすでにjqueryを持っています。あなたはその時何を示唆していますか?簡単な質問で申し訳ありませんが、私はかなりjsとjqueryの初心者です。
Gorge

indexOf(「名前」)は0を返すので、それ声明は「nameGorge」を返します
ジャスティンNiessner

2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

0

はい、できます。ただし、jQueryライブラリではなく、JavaScriptの固有の機能に依存しています。

http://www.w3schools.com/jsref/jsref_substr.asp このsubstr関数を使用すると、文字列の特定の部分を抽出できます。

ここで、抽出する文字列の部分を見つけるために使用する特定の文字列または文字を探している場合は、indexOf関数も使用できます。 http://www.w3schools.com/jsref/jsref_IndexOf.asp

質問はややあいまいです。テキストを「名前」でリンクするだけでも、望ましい結果が得られます。正確に部分文字列を取得するための基準は何ですか?


1
strposJavaScriptに関する質問で、なぜPHPの関数にリンクしたのですか?
カサブランカ2010年

今日は、PHPが多すぎます。私は適切なJS相当物で編集しました。それをキャッチしてくれてありがとう。
aaronofleonard 2010年

-1

次はどうですか?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.