2016-06-12 3 views
-3

にタグ間の部分文字列を置き換えるために、私は、タグの間に存在しない場合は、文字列を置き換えたい... 例: <>中にその存在しない場合str2str1を交換してください。どのようにJavaの

入力文字列

<field1_str1>randomvalue_str1</field1_str1><field2_str1 > randomvalue_str1_random_value </field2_str1 >

出力文字列

<field1_str1>randomvalue_str2</field1_str1 ><field2_str1 > randomvalue_str2_random_value </ field2_str1 >

+0

この宿題はありますか、またはXMLパーサーを使用できますか?また、私は数回質問を読んだことがありますが、私はあなたがしたいことを本当に理解していません。 –

+0

タグ名が不明なため、Uはxmlパーサを使用できません。 –

+0

可能であればパターンクラスで私を助けることができます。ありがとうございました –

答えて

0

あなたが本当にdoesntの与えた例は助けるが、私はあなたが最初に与えた質問に対するロジックをあげますライン

Str str1="<Heylo>"; 
Str str2="Boo"; 
int stuff=hello.length(); 
if(str1.charAt(0).equals("<"); && str.charAt(stuff).equals(">") 
System.out.println("It is in tags"); 
else 
str1=str2; 
+0

タグの名前と値が動的なので、 –

0

置き換えを行う場所の例を見てみると、2つのXMLタグの間にある文字列を置き換えたいと思うようです。これは、<と>の間で起こる文字列の代わりに、>と<の間に現れる文字列を置き換えることと考える方が簡単です。

String input = "<field1_str1>randomvalue_str1</field1_str1><field2_str1 > randomvalue_str1_random_value </field2_str1 >"; 

String str1 = "str1"; 
String str2 = "str2"; 

String replace = input.replaceAll(">([^<]*?)" + str1, ">$1" + str2); 

この置換は、タグ内のものと一致させたくないため、一致を開始するために>を検索します。 <以外のものと一致すると、一致が終了してXMLタグが開始され、str1が見つかるまで一致し続けます。マッチが成功すると、マッチした最初の部分が追加され、str1がstr2に置き換えられます。このコードは、あなたが探しているものを出力文字列に返します。

+0

ありがとうalot .. :) –