20

jqueryを使用して返されるrssフィード(文字列)をフォーマットおよび編集する前に、RSSフィードからコンテンツを取得しています。私はreplace次のように文字列と文字を置き換えるために使用しています:

var spanish = $("#wod a").text();
var newspan = spanish.replace("=","-");
$("#wod a").text(newspan);

これはうまくいきます。また、特定の時点以降のすべてのテキストを削除しようとしています。切り捨てと同様に、「例」という単語から始まるすべてのテキストを非表示にします。

この特定のRSSフィードでは、例という単語がすべてのフィードに含まれています。非表示にしたいので"example"、すべてのテキストはその単語の後に続きます。どうすればこれを達成できますか?

4

4 に答える 4

45

十分なjQueryはありませんが、指定された文字列内の特定の単語の後のすべてを削除するためにjQueryを削除する必要はありません。最初のアプローチは、以下を使用することsubstringです。

var new_str = str.substring(0, str.indexOf("Example"));

2番目は次のトリックsplitです:

var new_str = str.split("Example")[0];
于 2012-11-29T21:04:02.720 に答える
9

「例」を保持し、その特定の単語の後のすべてを削除したい場合は、次のようにすることができます。

var str = "aaaa1111?bbb&222:Example=123456",
    newStr = str.substring(0, str.indexOf('Example') + 'Example'.length);

// will output: aaaa1111?bbb&222:Example
于 2014-12-18T19:38:40.287 に答える
7

jQueryは文字列操作を目的としていません。そのためには、 VanillaJSを使用する必要があります。

newspan = newspan.replace(/example.*$/i, "");

この.replace()メソッドは正規表現を受け入れるため、この場合/example.*$/iは、「example」という単語に対して大文字と小文字を区別せずに照合し、その後に文字列の末尾に0個以上の他の文字を追加して、それらを空の文字列に置き換えます。 。

于 2012-11-29T21:03:01.153 に答える
1

「例」という単語から始まるすべてのテキストを非表示にします

例という単語で始まるすべてのものを「非表示」にするために、より単純な置換WITH後方参照を使用するソリューションですが、その前にあるものは保持します。

var str = "my house example is bad"
str.replace(/(.*?) example.*/i, "$1")     // returns "my house"
// case insensitive. also note the space before example because you 
// probably want to throw that out. 
于 2015-05-11T20:54:31.833 に答える