我收到了來自排隊服務的消息,我認爲這是一個UTF-8編碼的字符串。它原來是一個字符串中引用和轉義的字符串。也就是說,字符串本身的第一個字符和最後一個字符是"
,每個換行符是兩個字符\n
,引號(因爲這是XML很多)是\"
,而外語中的單個UTF-8字符表示爲六個字符,\uABCD
)。我知道我可以通過滾動我自己的方式解開所有這些,但我認爲必須有可以做到這一點的方法組合。這個咒語可能是什麼?在字符串中展開字符串
2
A
回答
0
從@JonSkeet和@ njzk2反饋後,我想出了這個,它的工作:
// gradle: 'org.apache.commons:commons-lang3:3.3.2'
import org.apache.commons.lang3.StringEscapeUtils;
String s = serviceThatSometimesReturnsQuotedStringWithinString();
String usable = null;
if (s.length() > 0 && s.charAt(0) == '"' && s.charAt(s.length()-1) == '"') {
usable = StringEscapeUtils.unescapeEcmaScript(s.substring(1, s.length()-1));
} else {
usable = s;
}
+0
我也應該讚揚這篇文章:http://stackoverflow.com/questions/9359660/json-replace-quotes-and-slashes-but-by-what – gknauth 2014-12-05 17:00:45
相關問題
- 1. 在Ruby中展開一串字符串
- 2. 「展開」的字符串
- 3. 不串聯展開字符串
- 4. 使用多個子字符串展開字符串
- 5. 展開宏內部字符串字面
- 6. 字符串以空字符串開頭(「」)
- 7. 在Python中展開字符串列表和字符串列表以及列表
- 8. 如何在C#中表示(字符串,字符串[],字符串[])#
- 9. 在字符串中插入字符串
- 10. 在字符串中獲取字符串
- 11. 在字符串中插入字符串
- 12. 在字符串中查找字符串
- 13. 在字符串中剪切字符串
- 14. 在字符串中存儲字符串
- 15. 在字符串中查找字符串
- 16. 展開字符串中的所有環境變量(格式字符串)
- 17. 字符串在字符串字面
- 18. 解開字符串
- 19. 的Perl:字符串中子字符串或子字符串中
- 20. 字符串擴展正在改變順序或字符串
- 21. C字符串字符串
- 22. C++字符串!=字符串
- 23. 字符串字符串
- 24. Java字符串[]字符串[]
- 25. 字符串到字符串
- 26. 用控制字符展開C#字符串
- 27. 匹配字符串中的字符串以強調字符串
- 28. 如何在字符串的字符串處插入字符串?
- 29. 字符串SomeLongString = JavaAPIMethodFor(字符串[]字符串,字符串分隔符)
- 30. 創建詞典<字符串,字符串>分開字符串
[HOWTO UNESCAPE一個Java字符串字面量在Java中(可能重複http://stackoverflow.com/問題/ 3537706/howto-unescape-a-java-string-literal-in-java) – njzk2 2014-12-05 16:16:19
它實際上只是JSON嗎?如果是這樣,請使用JSON解析器。 – 2014-12-05 16:16:25
@JonSkeet這不是JSON。絕對XML內容,逃脫。 – gknauth 2014-12-05 16:18:55