2017-09-20 5 views
0

こんにちは私は部分文字列置換について質問があります。私は、「A8」には「A8」と「A988」「A989」を置換する(文字列が最もdiffent長さを持っている)他の変数で特定の部分文字列を置換する

String str = 2D 10 02 B3 B2 B1 AF AE AD AC AB A9 89 A9 88 A7 A5 A4 A2 A1 00 00;

(異なるになりますように私は、16進数で多くの 異なる文字列を持っています位置)

しかし、それはdosent仕事:/。私のプログラムの開発は、これまで:

if(str.indexOf("A9")!=0) 
{ 
    if(str.indexOf("A988")!=0) 
     { 
     str_help = str.replace("A988","A8"); 
     } 
     if(str.indexOf("A989")!=0) 
     { 
     str_help= str.replace("A989","A9"); 
     } 
} 
else{ 
    str_help= str; 
} 

は、あなたが理解し、私を助けることができると思います:)

+1

あなたは 'のindexOfかどうかを確認する必要はありません= (strOld、strNew)strにstrOldが含まれていない場合は、何も変更されないため、0を返します。あなたのコードを分かりやすくするために – Ivan

答えて

0

このコードは正常に動作するようです:!

public static void main(String[] args) 
    { 
    String str = "2D1002B3B2B1AFAEADACABA989A988A7A5A4A2A10000"; 
    String str_help = str.replace("A988","A8"); 
    str_help= str_help.replace("A989","A9"); 

    System.out.println(str_help); 
    } 
関連する問題