我正在尋找一種方法將包含字符轉義序列的字符串轉換爲表示字符。因此,例如,我想將char "
字符串\"
(其中有兩個字符,一個反斜槓和一個雙引號)解析爲字符"
。所以,一個字符組成一個字符。如何將包含字符轉義序列的字符串轉換爲字符?
所以一些可能做這樣的事情,反之亦然:
package test;
public class Test {
private static char parseChar(String string) {
char c = 0;
if ("\\n".equals(string)) {
c = '\n';
}else if ("\\t".equals(string)) {
c = '\t';
}else if ("\\r".equals(string)) {
c = '\r';
}else if ("\\f".equals(string)) {
c = '\f';
}else if ("\\b".equals(string)) {
c = '\b';
}else if ("\\\'".equals(string)) {
c = '\'';
}else if ("\\\"".equals(string)) {
c = '\"';
}else if ("\\\\".equals(string)) {
c = '\\';
}
return c;
}
public static void main(String[] args) {
for (String arg : args) {
System.out.println(arg + " : " + (int)parseChar(arg) + " : " + parseChar(arg) + ";");
}
}
}
我簡直不敢相信有什麼java.lang中或其他能夠給我提供良好的(也許本機)代碼,是因爲我覺得上面的代碼可能不完整,不能解析每一個有問題的(可以逃避的)角色,因爲我是一個noob。 我想要一個工具,它可以做同樣的事情String構造:
String st = "\"";
char ch = st.charAt(0);
聲道輸出:「
感謝您讀這篇文章,我很抱歉,如果不清楚我會。定期和正確的檢查,如果問
PS:
當我運行上面的代碼:
的java -classpath〜/工作區/宏錄製/ bin中/ test.Test \\Ñ\\噸\\˚F\\ř\\ b \\\」 \\\」 \\\\;
...它輸出
\n : 10 :
;
\t : 9 : ;
\f : 12 :
;
;r : 13 :
\b : 8 :;
\' : 39 : ';
\" : 34 : ";
\\ : 92 : \;
但在Eclipse中,輸出具有相同的參數完全不同,特別是「很凌亂。
可能重複[如何轉換/解析從字符串到char在java?](http://stackoverflow.com/questions/7853502/how-to-convert-parse-從串-to-char-in-java) – 2012-01-05 00:17:56
我該如何向該問題添加問題?每一個答案都是一樣的,而不是回答這個問題......我覺得這是更具體的,雖然他是真的想和我一樣。我也會嘗試編輯他的問題。 – sinekonata 2012-01-05 00:21:02
你不能。你覺得那裏的答案對你沒有幫助嗎?當然好像。 – 2012-01-05 00:22:04