簡體   English   中英

有沒有辦法修復這個字符串 output?

[英]Is there a way to fix this string output?

我正在從 CSV 文件中讀取數據,並將字符串放入名為album的數組列表中。 其中一個字符串是: The Beatles ("The White Album")和 output 當我使用System.out.print(album.get(index))打印它時是:

"The Beatles (""The White Album"")"

為什么前面和最后以及中間有多余的引號?

我嘗試用\"替換字符串的引號,以便它也將引號作為字符串,但 output 是:

\"The Beatles (\\"The White Album\\")\

我試過的代碼:

System.out.print(album.get(index).replace('"','\\"');

CSV 用逗號分隔值:

value1,value2,value3

但是,如果值本身包含逗號,比如value,3怎么辦? 沒問題,CSV 說,我們用引號括起來:

value1,value2,"value,3"

所以現在引號用於用逗號包圍值......如果這樣的值本身包含引號,我們該怎么辦,比如value "3" 沒問題,CSV 說,我們將用雙引號替換引號:

value1,value2,"value ""3"""

在您的情況下,您可能想要做的是:

  • 如果您讀取的字符串不以"開頭,請按原樣使用。
  • 如果它確實以"開頭:
    • substring 它剪切第一個和最后一個字符 - str.substring(1, str.length() - 1)
    • 將所有出現的""替換為"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM