10

Eclipse の行末に文字列を追加する方法はありますか? 検索と検索は機能するように見えますが、正規表現だけで検索を使用して$も文字列は見つかりません。.$何かを見つけますが、これで find replace を実行すると、行の最後の文字が削除されます。これは望ましくありません。Eclipseでこれを達成する方法を知っている人はいますか? Eclipseがこれを理解できない可能性がある正規表現で間違っていることがありますが、vimのような他のエディターはそれをうまく処理します..(Vi / Vimで:0,$s/$/appended to end of line/)。

確かに、この機能があればいいのにと思うのは私だけではありません...他のほとんどの優れたエディターによって提供されています。これはバグと見なすことができますか?

4

3 に答える 3

15

これがEclipseのバグであることに同意します。私はあなたと同じように同じ結果を試しました。また、正規表現検索文字列 "(?<=。)$"を使用して、置換での1文字の一致を無視しようとしましたが、それも失敗しました。追加する文字列の終わりを検索できる必要があります。

これを機能させるための秘訣は次のとおりです。

      Find: "(.)$"
      Replace: $1foo

これにより、行末の前の1文字の一致が置き換えられ、fooが追加されます。

それはたくさんのフープジャンプですが、少なくともそれは機能します。

于 2012-08-22T14:41:30.047 に答える
1

変数をコピーする前に、変数のリストで Java プログラムを実行するのが最善の策かどうか疑問に思っています。切り取って貼り付けたファイルの形式はわかりませんが、それが単なる各行に変数名のみを含むリスト、これを試してください:

ArrayList<String> importarray = new ArrayList<String>();
ArrayList<String> rebuildarray = new ArrayList<String>();
BufferedReader bufferedfile = new BufferedReader();

public static void main(String[] args) {
   readFile();
   processFile();
}

static void readFile() {

String file = "C:\\path\\file.txt";
try { 
    String line;
    importstart = new BufferedReader(new FileReader(file));
    for (line = importstart.readLine(); line != null; line = importstart.readLine()) {
        importarray.add (line);
    }
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
}

 static void processFile() {
String complete = "";
for (String string : importarray) {
    complete = string + "\";";
    rebuildarray.add(complete);
}
  }

これを追加すると、" " を含む変数名の配列が提供されます。" 終わりに。

または、この配列を String 宣言で使用して、次のようにすることもできます。

for (String variable : rebuildarray) {
final String string = variable;
doSomething(string);
}

これにより、「;」を追加する必要がなくなります。

これが多すぎるか、または完全にあなたが探していたものであるかどうかを確認してください。ただし、これらはいくつかのアイデアです。

于 2012-08-03T21:55:47.023 に答える