2017-02-20 10 views
-2

&を生成するはずのRubyスクリプトを実装しました。デフォルトのコードを適切な場所に挿入します。問題は、これらのコード断片の中には、存在するコードのアルファベット順を尊重しなければならないことです。例としてregexアルファベット順にテキストに単語を挿入します

、我々は単語のコード片を挿入する必要があることを前提と「親指」(この場合、それはUPDATEFIELD((&(thumb)), ([custominputstream readString]));であろう)は、次のコードに:

//... 
    UPDATEFIELD((&(answers)), ((ListTO *)[custominputstream readCustomSerializable])); 
    UPDATEFIELD((&(text)), ([custominputstream readString])); 
    UPDATEFIELD((&(title)), ([custominputstream readString])); 
    //... 

ザ望んだ結果です。

//... 
    UPDATEFIELD((&(answers)), ((ListTO *)[custominputstream readCustomSerializable])); 
    UPDATEFIELD((&(text)), ([custominputstream readString])); 
    UPDATEFIELD((&(thumb)), ([custominputstream readString])); //here is the right place to do it. 
    UPDATEFIELD((&(title)), ([custominputstream readString])); 
    //... 

正規表現を使用してテキストを挿入するためのこの正確な場所を見つける方法はまったく可能ですか?言葉の

+0

私たちに何を試してみてください。 – mudasobwa

+0

@mudasobwa私はドキュメントで自分の問題に関連するものは見つけられていないので、何も表示されません。 – nrx

+0

プログラミングはdocs/SOのソリューションをコピー&ペーストすることではなく、問題を解決することです。 – mudasobwa

答えて

0

あなたの現在の注文は

answers < text < title 

問題は上からファイルを読み込み、中央でそれを破ることができますへのアプローチです。

あなたのケースでtext

に過ぎないと、あなたの言葉でそれを比較する

/(?<=UPDATEFIELD\(\(&\()\w+(?=\))/文字列 を読ん

UPDATEFIELD((&(text)), ([custominputstream readString]));

です。あなたのケースでthumb

if 'thumb' < 'text' 
    #place it above text 
else #(which is obvious) then 
    #place it below 
end 

であることを起こる、どの順番は

answers < text < thumb < title 

あなたのファイルになっかなり大きいです、ので、あなたがあなたの目標を達成するまで、同じ運動を繰り返す必要があります。

binary searchは、単語を挿入する必要がある場所に到達するために使用しています。

+0

このような迅速な答えをありがとう、ちょうど私が必要としているようですね!今私はそれを適用するために、私は正規表現とルビーの両方の合計noobだから、時間が必要です。私は返信+返事を受け入れる:) – nrx

+0

うーん...私は一致の行の上/下の行を直接挿入する方法を取得することはできません。このような場合には、以前はこの方法を使用しました。 def dataAppendTo(methodName、string、data、bottomEdge) \t return data.sub /(-.*#methodName}.*\n)((.*\n) *?)(。*#{bottomEdge}。*)/、 '\ 1 \ 2' + string + ' \ 4' end' 新しい行を挿入するのに、ここでは適用できないようです。 – nrx

+0

ファイルを文字列として読み込み、 '\ n'または '\ n \ r'に分割し、必要な単語のインデックスを見つけて 'array 'で新しい単語を挿入するのが簡単な方法です。 insert(index、word) 'これが役に立ちますように。 – aelor

関連する問題