Javaで文字列を置換したいのですが、以下のようなルールがあります。
abcは置換してはいけない。
deskは置換してはいけない。
aはxに置換する。
cはxに置換する。
dはxに置換する。
String str = "abcdefg desktop ac";
String replaced = "abcxefg desktop xx"; <- strをこのように置換したい
単純にacdを置換してしまうと、abcのacやdeskのdも置換してしまいます。
以下のようなロジックでいけるとは思うのですが
置換してはいけない文字列が可変なのと、文字列の最後を判定しなくてはならず
少々処理が複雑になると思います。
Java
1for (int i = 0; i < str.length; i++) { 2 // str.substring(i, 3)がabcでない場合、且つstr.substring(i, 4)がdeskでない場合 3 // str.substring(i, 1)がa,c,dなら置換 4}
何か良い正規表現やロジックはないでしょうか。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。