1から始まり上がっていく番号を連続番号に置き換えたい


0

私はこれが人々が簡単にプログラムできるものであることを知っています、しかし私はそれらの事に詳しくないので、私はより簡単な解決策があることを望みました。

ソートを含む質問の大規模なデータベースを編集したところ、すべての質問IDが混同されてしまいました。

私はこれをNotepad ++でやろうとしていますが、他の提案も大歓迎です。文字列を検索し(例: "Question [any number]")、最初の1、次に2などの数字に置き換える方法があるのでしょうか。

明確にするために、これは1つの質問がどのように見えるかです:

TriviaBot_Questions[3]['Question'][63] = "Acronyms: What does WTT stand for?";  
TriviaBot_Questions[3]['Answers'][63] = {"Want To Trade"};  
TriviaBot_Questions[3]['Category'][63] = 7;  
TriviaBot_Questions[3]['Points'][63] = 1;
TriviaBot_Questions[3]['Hints'][63] = {};  

245でも1029でも構いませんが、基本的に「前の番号+ 1」に置き換えます。

回答:


1

えーと、Emacsなら十分簡単ですが、Emacsを学ぶのはやや難しい場合があります。

ここで入手できます。 http://www.gnu.org/software/emacs/ 。それは完全に無料です。

万が一のために、先に進む前にファイルのバックアップを取ってください。

ここにあなたが望むことをする方法があります、キーストロークでキーストローク。参考までに、Cはコントロールを意味し、ダッシュはそれを同時に押す必要があることを意味します(例:control + x)。スペースはあなたが以前のものを手放すことを意味します。 C-x C-fはCtrl + xを押してからCtrl + fを押すことを意味します。

Emacsを開き、あなたが持っているファイルを開きます。ファイル/編集...などのバーがない場合は、C-x C-f(control + xに続けてcontrol + f)でファイルを開き、ファイルパスを入力できます。

次にC-x(control + xの後にshift + 9を押します。これでキーストロークの記録が開始されます。これは後で繰り返すことができます。

今度はC-sを押して「質問」と入力し、続いてC-fを2回とC-backspaceを押します。今すぐf3を押してください。番号を0に置き換えます。複数の行に同じ番号を付ける場合は、Cスペース、C-b、M-wの順に入力します(alt + w)。

番号をコピーしたら、もう一度C-sを使用して2回押すと、次の「質問」のインスタンスに移動できます。ここでもう一度C-fを押し、続いてC-backspaceを押しますが、コピーした番号を貼り付けるにはC-yと入力します。必要に応じてこれを繰り返し、1つの質問に含まれるすべての数字を調べます。その質問内でこの操作を繰り返すたびに、その後にM-yと入力します。

最初の質問を終了し、すべての数字が0に置き換えられたら、マクロの記録を終了します。 C-x)と入力します(前と同じように、control-xに続けてshift-0を入力します)。

どこかの時点で、あなたがミスをして何をキャンセルして再起動すれば、C-gはキャンセルされ、C-_(control + shift + - )は元に戻されます。

ここでC-u 0 C-x eと入力します。

うまくいく場合は、C-x C-sと入力して変更を保存できます。

これは、数字を置き換えるためのキーボードマクロを作成し、毎回インクリメントされるカウンタ(f3によって作成されたもの)で繰り返し実行することです。

あなたがこの仕事をうまくやるなら(私の例では私がやったことです)、Emacsの使い方を学ぶことを検討することを検討してください。学ぶには少し努力が必要ですが、それだけの価値があります。


0

私はこれを実行できるツールを意識していませんが、あなたはどちらかのようにあなたのコードを書く方が良いと思うかもしれません

x = 0;
Questions[3][++x] = 'New Question';
Questions[3][  x] = '------------';
Questions[3][  x] = 'A: Answer, B: Answer, C: Answer';
Questions[3][++x] = 'New Question';
Questions[3][  x] = '------------';
Questions[3][  x] = 'A: Answer, B: Answer, C: Answer';

あるいは、より良い解決策はテキストファイルやデータベースから読むことでしょう、そうすれば質問はコンパイルされたアプリケーションに結び付けられません。

当面の問題を解決したいのであれば、その質問ファイルをExcelに入れて、文字列を使用してText-> Columnsを実行します。 [ そして ] 区切り文字として。次に並べ替えます。


問題はそれらをソートしないことです。私はそれらをカテゴリに再配置しました。それが質問IDが正しくない理由です。現在の順序は正しいです、私はただ数を変えたいです。

2
@CiremoをクリックしてからExcelにインポートし、[テキスト]> [列]を選択します。行番号を識別する1からxまでの数字の列を入れます(私はそれが列Zであると仮定しています)それから、置き換えたいID列に= 5 * INT(Z1 / 5)のようなIDのマクロを書きます。それを下にドラッグします。
ta.speot.is

また、1、1、1、1、1、2、2、2、2、2、2、2、2の順にリストを下にしてドラッグし、範囲としてドラッグすることもできます。 Excelは、5ステップごとに1ずつ増分することを推論します。
ta.speot.is
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.