[英]Count number of lines in a string in java - BufferedReader behavior
[英]Java: BufferedReader lines compared to String issues
我有一個程序正在讀取具有項目列表的文本文件,創建一個由其讀取的項目組成的ArrayList,然后將其與幾個選定的單詞進行比較。 例如,我的文本文件包含以下內容(無編號):
然后讀取每個並將其添加到ArrayList中。 當我嘗試將String s =“ book”與ArrayList中的每個元素進行比較時,我發現s不等於任何值。 這是我所擁有的一種方法:
for (int i = 0; i < list.size(); i++)
{
if (s.equals(list.get(i))
return true;
}
s.contains()也不起作用。 當我打印ArrayList時,每個String元素的末尾都有一個空白。 當s =“ book”時如何進行比較? 為什么會有額外的空格?
您可以使用String類的trim()
方法刪除字符串開頭和結尾的空格。
空格可能在文件中,但您沒有注意到它。 與編輯器確認最后沒有空格。 為了更確定,請使用unix上的hd
這樣的十六進制編輯器進行檢查。
另外,請檢查讀取的字符串是否不包含換行符。
使用trim()刪除前導和尾隨空格。
if (s.equals(list.get(i).trim())
return true;
}
代替
if (s.equals(list.get(i))
return true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.