2013-02-14 88 views
2

編輯:假!下面的代碼工作,在我的例子中,字符串被讀作「\ n」,這給了我2個字符而不是1個字符。我很傻。Java - 將轉義字符串轉換爲字符

我想將一個孤立的單個字符從字符串轉換爲字符。我無法將轉義字符轉換爲單個字符,因爲它將\作爲單獨的字符處理。

String str = "\n"; 
char charVal = str.charAt(0); // Gives charVal as \ 

是否有函數將轉義序列解釋爲單個字符而不是單獨的字符?

我想在沒有Apache commons包的情況下做到這一點。

謝謝!

回答

3

回答到更新的問題:您的結果越來越某種程度上混淆。 str只有一個字符,所以charVal將是那個字符,換行。檢查輸出,如果它仍然不是你所期望的,請給我們一個SSCCE來證明你的問題。

原來的答覆:tempstr,並str.charAt(0)絕對不會給\作爲結果。 str是一個單字符字符串,所以你只能得到一個字符,這是一個換行符。可能的是,你有什麼進一步的在你的代碼,如:

String temp = "\\n"; 

在這種情況下,你有兩個字符的字符串,其中第一個是反斜槓。

+0

感謝您指出temp/str錯誤,請編輯它。 – Meep 2013-02-14 02:44:16

+1

你需要再次檢查輸出,然後,因爲你上面寫的是不正確的。看到我更新的答案。 – 2013-02-14 02:44:53

+0

謝謝,你是對的。輸入來自文件,但讀者正在添加額外的\。簡化字符串確實解決了這個問題。 – Meep 2013-02-14 02:47:46

2

廣東話重現

String str = "\n"; 
    char charVal = str.charAt(0); 

    System.out.println(charVal); 

給出換行符

+0

@RyanStewart是的只是注意到thanx – user000001 2013-02-14 02:42:38

+0

謝謝!編輯原創以反映我的愚蠢。 – Meep 2013-02-14 03:04:18