
JAVAであるファイル内の文字列を置換するプログラム(日本語)を作りたいのですが、
・
・
String h_s;
FileReader h_fr = new FileReader(in_filename);
BufferedReader h_br = new BufferedReader(h_fr);
while(true){
h_s = h_br.readLine();
if (h_s == null){
break;
}
●文字列を置換するプログラム●
}
・
・
ここの●文字列を置換するプログラム●にあたる適当な関数って何かありますか?
たとえばperlでいうと↓みたいなものなのですが・・・
s/置換前文字/置換後文字/g
よろしくお願いします。
No.5ベストアンサー
- 回答日時:
何度もすみません。
改良しました。
public String replace (String s,String s2,String s3) //I don't know that this works with Japanese...
{
int start_number = 0;
while (s.indexOf (s2,start_number) >= 0)
{
s = s.substring (0,s.indexOf (s2,start_number)) + s3 + s.substring (s.indexOf (s2,start_number) + s2.length (),s.length ());
start_number = s.indexOf (s2,start_number) + s3.length ();
}
return s;
}
No.9
- 回答日時:
以下のページに文字列置換そのものがあります。
http://park.ruru.ne.jp/ando/work/who/doc/jp_ne_r …
誰にもわからないJava講座http://park.ruru.ne.jp/ando/work/who/html/index. …
の
文字列操作
のとこですね。
(楽しく笑えて高度なことも書いててわかりやすくてお勧めです)
で、staticのことですが、
「static を付けると、オブジェクトを作らなくてもそのメソッドを使える」
というのは実際そうです。
オブジェクトはnewなりなんなりで作ってあげないと、
操作できないんです。
ないものを使おうとしても無理ですよね。
でもstatic付けてると静的に配置されるので
つかえる、と。
参考URL:http://park.ruru.ne.jp/ando/work/who/html/index. …
No.8
- 回答日時:
ええとですね、僕も実はよく分かってないのですが (^_^;)、
public class A
{
public static void main (String a)
{
replace ("ABC","A","-");
}
//--省略
}
この様にするとダメなんですよ、理由は分からないのですが(笑)。
もう、おまじないと思った方がいいんじゃないですかね。
メインエントリーポイントがどうのとかいうので、
public class A
{
public static void main (String a)
{
new A (); //これが重要らしい
}
public A ()
{
//処理
replace ("ABC","A","-");
}
//省略
}
こうしないといけないみたいです。ちゃんと説明できなくって申し訳ないのですが、static を付けると、オブジェクトを作らなくてもそのメソッドを使える、という意味に解釈しています。僕は(笑)。
例えば、
public class A
{
public String abc ()
{
return "abc";
}
}
をいきなり A.abc (); と呼び出しても動いてくれませんが、
public class A
{
public static String abc ()
{
return "abc";
}
}
は、A.abc (); で動いてくれます。
ん~、僕もよく分かってないので、おかしな返答になっています。すみません。この辺のコアな所は本などでお調べになった方が無難かと思います。
No.7
- 回答日時:
下の、間違いです!
下の下の方が正しいです。
ありがとうございます。できました!ただ・・
static でない メソッド replace(java.lang.String,java.lang.String
,java.lang.String) を static コンテキストから参照することはできません。
コンパイル時に↑といったエラーがでたので
public static String replace(String s,String s2,String s3)
↑のようにstaticを適当に追加したら動いたのですが、これってどういう意味なのでしょうか?
元々の質問からそれてごめんなさい・・・
No.6
- 回答日時:
ほんっとうに申し訳ないです m(v_v)m
今度こそ・・・・
public String replace (String s,String s2,String s3) //I don't know that this works with Japanese...
{
int start_number = 0;
while (s.indexOf (s2,start_number) >= 0)
{
s = (s.substring (0,s.indexOf (s2,start_number)) + s3 + s.substring (s.indexOf (s2,start_number) + s2.length (),s.length ()));
start_number = s.indexOf (s2,start_number) + s3.length () - 1;
}
return s;
}
No.3
- 回答日時:
下のアドバイスに追加です。
「文字」となっている所は「文字列」と解釈されてかまいません。
それでも動作します。
又、使い方ですが、
s = replace ("置き換え!","き","きかえられたら置き");
System.out.println (s);
これを実行すれば「置き換えられたら置き換え!」が出力されるハズです。
No.2
- 回答日時:
今、即席で作ってみました。
日本語に対応しているかは分からないのですが、一応。public String replace (String s,String s2,String s3) //I don't know that this work with Japanese...
{
while (s.indexOf (s2) >= 0)
{
s = s.substring (0,s.indexOf (s2)) + s3 + s.substring (s.indexOf (s2) + s2.length (),s.length ());
}
return s;
}
//s = テキスト s2=検索する文字 s3=置き換える文字
No.1
- 回答日時:
Java は良く知らないのですが、正規表現って無いみたいですね。
ただ、正規表現を扱うパッケージは探せばあるみたい。
例えば GNU だったら、参照URLのところに。
javascript にはあるのにね。
参考URL:http://www.cacas.org/~wes/java/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#でのWNetAddConnection3の使...
-
C#で、あるクラスのメンバーす...
-
大量のデータを読み込んで表示...
-
C# DataGridView列カスタマイズ
-
[C#.net]スレッド化された別フ...
-
GetDIBits関数の使い方について
-
C#で別のFormへ複数の値を返そ...
-
C# 親フォームで指定した値を...
-
ボタンの複数割り当てについて
-
java のstruts1.3です。
-
ユーザーコントロールを動的に...
-
C# タスクバーを隠したフォーム...
-
C# WinForm のDataGridView Cel...
-
C# visibleプロパティをfalseに...
-
Processingでマウスクリックで...
-
なぜ、clickイベントが起こって...
-
ループ処理の際、最後だけ","を...
-
(Swing)JTextFieldを半角のみ入...
-
オブジェクトの中のプロパティ...
-
System.err. printlnとSystem.o...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
ボタンの複数割り当てについて
-
コンボボックスを使う時の警告
-
C# DataGridView列カスタマイズ
-
Junitテストでvoid戻り値メッソ...
-
C# 矢印キーの取得
-
C# WinForm のDataGridView Cel...
-
C#でのWNetAddConnection3の使...
-
C# visibleプロパティをfalseに...
-
GOF本のStrategyのJava版での質...
-
イメージボタンを作成したいの...
-
以下のコードのどこが問題なの...
-
Androidでこのエラーを解決した...
-
C#で、定数をフラグ(if文)に...
-
C# 親フォームで指定した値を...
-
Javaでウィンドウ作成について
-
負の数を取得するには?
-
Windowsのリソース作成について
-
javaの同期について
おすすめ情報