- - PR -
文字変換について
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-12-01 16:38
mydata の中に "”"(全角”)があったら"qu"に変換したいのですが
どう書けばよいかわかりません。 どなたか教えてください。 | ||||
|
投稿日時: 2003-12-01 16:47
mydataって何ですか?
String型の文字列ですか? もうちょっと詳しく書いてください。 Stringなら、String#replaceを使います。 | ||||
|
投稿日時: 2003-12-01 16:53
String.replaceXXX(String,String)というものがありますが、
これはJDK1.4からのメソッドですよね。しかも正規表現ですし。 もし、JDK1.3以前のJDKをお使いなら、 org.apache.commons.lang.StringUtils.replaceなどを 使うのがいいと思います。 まあ、"mydata"が文字列ならの話ですけど… [ メッセージ編集済み 編集者: Emacs信者 編集日時 2003-12-01 16:55 ] | ||||
|
投稿日時: 2003-12-01 16:57
すみません。
string 型 です。 | ||||
|
投稿日時: 2003-12-01 17:00
自分で一度考えてから質問をされることをお勧めします。
皆、子供の宿題を全部解いてやる過保護な大人になってしまう。 もし何かしら試したあとでしたらその内容も添えて質問しましょう。 やりたいことが的確に伝わります。 | ||||
|
投稿日時: 2003-12-01 17:07
String#replaceはchar→char置換でした。
いい加減なこと書いてすみません。 普通にやるとしたら、
って感じかな。 | ||||
|
投稿日時: 2003-12-01 17:20
ご存知だと思いますがStringオブジェクトは、それが参照する文字列を変更することはできません。
従って、例えば
とやると、結果は ABCDEDCBA ZBCDEDCBZ ABCDEDCBA となり、mydataの参照する文字列は変更されません。 一応念のため^^; #変な用語を使ってしまったので修正しますた [ メッセージ編集済み 編集者: たーぞう 編集日時 2003-12-01 17:47 ] | ||||
|
投稿日時: 2003-12-01 17:53
コード:
-------------------------------------------------------------------------------- String mydata = "..."; String target = "”"; int idx = mydata.indexOf(target); if ( idx != -1 ){ StringBuffer buf = new StringBuffer(mydata); buf.replace(idx, idx + target.length(), "qu"); mydata = buf.toString(); } だと、mydataの中にtargetがいくつも存在するときに 最初のtargetのみ変換されるのですが mydataの中のtargetをすべて変換したい場合は do ( idx == -1 ){ StringBuffer buf = new StringBuffer(mydata); buf.replace(idx, idx + target.length(), "qu"); mydata = buf.toString(); } とやるのでしょうか?? すみません、初心者で。 | ||||
