2016-10-05 4 views
0

多くのjquery/javascriptを処理するより良い方法があるかどうかを知りたいと思います。これは私のコードが現在のように見えるので、もっと多くの単語やフレーズを追加します。私は配列やオブジェクト内の単語を使って何らかのループを実行する必要があるかどうか疑問に思っていますか?あるいは言葉を別のファイルに保存しておくべきでしょうか?多数の置換えを扱うにはどうすればよいですか?

input = input.replace(/\band\b/g, "&") 
     //COMMON ABREVIATIONS 
     .replace(/\bwith\b/g, "w/") 
     .replace(/\bwithout\b/g, "w/o") 
     .replace(/\bpeople\b/g, "ppl") 
     .replace(/\bbecause\b/g, "b/c") 
     .replace(/\bestablished\b/g, "est.") 
     .replace(/\bstreet\b/gi, "St.") 
     .replace(/\bavenue\b/gi, "Ave.") 
     .replace(/\bparkway\b/gi, "Pkwy.") 
     .replace(/\blane\b/gi, "Ln.") 
     .replace(/\bboulevard\b/gi, "Blvd.") 
     .replace(/\bassociates\b/gi, "Assoc.") 
     .replace(/\bretweet\b/gi, "RT") 
     .replace(/\bapartment\b/gi, "Apt.") 
     .replace(/\bdirect message\b/gi, "DM") 
     .replace(/\bphoto credit\b/, "PC") 
     .replace(/\bphoto cred\b/, "PC"); 
+1

ファイルまたはajaxなどを介してDBから取得します。 – KiiroSora09

+0

私は解決策を得ましたが、私の学校のワークシートを見つけなければならなくなりました。 –

+0

あなたのサンプルデータには、何が出力になりますか? – KiRa

答えて

0

私は何かを見つけましたが、残念ながら2語でフレーズをキャッチしません。 RegExに何か問題があります。あなたは、多分別の定義をjQueryの[.each(http://api.jquery.com/jquery.each/)とオブジェクト/配列をループ格納することができ

var input = { 
 
    'band': "&", 
 
    'with': "w/", 
 
    'without': "w/o", 
 
    'people': "ppl", 
 
    'because': "b/c", 
 
    'established': "est.", 
 
    'street': "St.", 
 
    'avenue': "Ave.", 
 
    'parkway': "Pkwy.", 
 
    'lane': "Ln.", 
 
    'boulevard': "Blvd.", 
 
    'associates': "Assoc.", 
 
    'retweet': "RT", 
 
    'apartment': "Apt.", 
 
    'direct message': "DM", 
 
    'photo credit': "PC", 
 
    'photo cred': "PC" 
 
}; 
 

 
console.log('band with'.replace(/\w+/gi, match => input[match]));

関連する問題