我不得不作出下面的聲明作爲string.i我嘗試,但它給無效的字符序列。我知道這是基本的,但無法做到這一點。讚賞這一點的任何幫助。使用java的字符串格式
String str="_1";
'\str%' ESCAPE '\'
Output should be: '\_1%' ESCAPE '\'.
感謝,
Chaitu
我不得不作出下面的聲明作爲string.i我嘗試,但它給無效的字符序列。我知道這是基本的,但無法做到這一點。讚賞這一點的任何幫助。使用java的字符串格式
String str="_1";
'\str%' ESCAPE '\'
Output should be: '\_1%' ESCAPE '\'.
感謝,
Chaitu
String result = "'\\" + str + "%' ESCAPE '\\'";
裏面一個字符串,反斜槓字符將 「越獄」 之後的字符 - 這會導致區別對待這個角色。
由於\
有這個特殊的含義,如果你真的想\
字符本身在字符串中,你需要把\\
。第一個反斜槓轉義第二個,導致它在字符串內被當作文字\
。
知道這一點,你應該能夠構造出你需要的結果字符串。希望這可以幫助。
String str="_1";
String output = String.format("'\\%s%%' ESCAPE '\\'",str);
System.out.println(output);//prints '\_1%' ESCAPE '\'
String str="_1";
String source = "'\\str%' ESCAPE '\\'";
String result = source.replaceAll("str", str);
實現串插的另一種方式。 replaceAll
函數在源字符串中查找所有匹配的str
,並將其替換爲傳入的參數。
爲了編碼反斜線\
在Java字符串,你要複製它,因爲一個反斜槓工作作爲轉義字符。
請注意,如果replaceAll
的第一個參數實際上是regular expression,所以某些字符具有特殊含義,但對於簡單的話它將按預期工作。
您只顯示了一行實際代碼。請改爲發佈一個簡短但完整的示例。我的猜測是,你正在尋找一種真正不被Java支持的字符串插值方式,但很難說清楚... – 2011-04-23 11:00:23