2016-04-13 17 views
2

Bahar dizisi üzerinden bir dizgede çift tırnak işareti karakterinin değiştirilmesi mümkün mü? Başka bir son noktaya göndermeden önce şeritlemem gereken xml'de bir ad alanı var. Spring DSL ile bir dizgede çift tırnak işareti "karakterini değiştirmek mümkün mü?"

, ben basit bir dil kullanarak çalıştı xml

xsi:schemaLocation="xxxxx" 

gelen dize altına çıkarmak için o koştum ama bir problem olması zaman Alıntı Çoğu durumda

<route> 
<from uri="file:src/xmldata?noop=true"/> 
<convertBodyTo type="java.lang.String"/>         
<setBody> 
<simple> 
{body.replaceAll("xsi:schemaLocation="xxxxx"","")} 
</simple> 
</setBody> . . </route>` 
+0

Mantıksal düşünme, yeni bir beden değeri atamanız gerekiyor, '{body = body.replaceAll ("xsi: schemaLocation = \" xxxxx \ "", "")} ' –

+0

' ı deneyin, içeride büyük xml var. vücut ve bunu korumak için, sadece isim alanları informatica (benim mesajın tüketici) desteklemediği gibi kaldırılması gerekiyor. Bazı nedenlerden dolayı "\" çalışmıyor ya da " denedim ve bu işe yaramadı. Ancak benzer bir req için <ve> > – user3824490

+0

kullanarak değiştirebiliyordum Belki de, "kullanabilirsiniz \ x22' veya '\ u0022' –

cevap

1

, yerine vermedi Çift veya tek tırnaklı eşleşen normal ifade, karakterin altıgen gösterimini kullanmak için yeterlidir: \u0022 (veya dil/motora bağlı olarak \x22).

Yani, bir tek tırnak \u0027 (veya \x27) ile eşleşti edilebileceğini

{body.replaceAll("xsi:schemaLocation=\u0022xxxxx\u0022","")} 
            ^^^^^^  ^^^^^^ 

Not kullanın. Altıgen kodları bulmak için kullandığım harika bir site var, burada a link to the Unicode code converter.

İlgili konular