我正在使用OpenCSV的CSVReader
從文件中讀取一些逗號分隔值。我不知道如何修剪前後空格。當然,我可以做String.trim()
,但它不會更清潔。在documentation中沒有指定這樣的選項。修剪OpenCSV中的前導空格和尾部空格
6
A
回答
1
你能切換到SuperCSV
嗎?它可以選擇忽略其CsvPreference.Builder
上的周圍空間。這是一個非常優秀的圖書館,IMO。如果該偏好不符合要求,則可以始終擴展Tokenizer類並覆蓋readColumns
。否則,它看起來像OpenCSV
不是很精細,並且需要您延長CSVReader
並覆蓋readNext
。這可能會實現:
class MyReader extends au.com.bytecode.opencsv.CSVReader {
@Override public String[] readNext() throws IOException {
String[] result = super.readNext();
for (int i=0; i<result.length; i++) result[i] = result[i].trim();
return result;
}
}
0
使用ngreen的想法,我想出瞭如下工作方案:
public class CSVReaderExtended extends CSVReader {
private static final String EXP_ALPHA_AND_DIGITS = "[^a-zA-Z0-9]+";
public CSVReaderExtended(Reader reader) {
super(reader);
}
@Override
public String[] readNext() throws IOException {
String[] result = super.readNext();
if (result == null)
return null;
for (int index = 0; index < result.length; index++) {
result[index] = result[index].replaceAll(EXP_ALPHA_AND_DIGITS, "");
}
return result;
}
}
相關問題
- 1. 修剪引導和拖尾空格值
- 2. 修剪前導空間和尾部空間
- 3. XSL文本輸出 - 修剪空行和前導空格
- 4. jQuery的 - 修剪領導和「焦點了」關於尾隨空格
- 5. XML保留前導空格,但不是尾部空格
- 6. 允許EDI地圖測試中的前導空格和尾部空格
- 7. 如何告訴sqlldr修剪尾隨和主導空格
- 8. 查找帶有前導空格和/或尾隨空格的行
- 9. 將單個空格替換爲單個空格並消除前導空格和尾部空格
- 10. 刪除前導和尾隨空格?
- 11. 刪除尾隨和前導空格
- 12. StreamingPathFilter修剪空格
- 13. XCLIP和尾部的空格
- 14. 使用jQuery修剪textarea的前導空白/尾隨空白?
- 15. Power Query的「加載到」修剪尾部空格
- 16. Oracle - 查找具有前導空格或尾隨空格的值
- 17. 如何獲取字符串中的前導空格和尾隨空格java
- 18. 如何在文本框的開頭和結尾修剪空格?
- 19. AppleScript的:修剪空格和返回線
- 20. 如何修剪HTML中空標記的頭部和尾部?
- 21. read_excel不會修剪空格
- 22. MS Access在導入時從文本字段修剪尾部空格
- 23. 替換前導空間和尾隨空格Oracle
- 24. 刪除尾部空格並將它們添加爲前導空格
- 25. 時間格式和前導/尾隨零/空格
- 26. 在Struts1.1中修改每個請求參數的前導空格和尾隨空格
- 27. 修剪逗號和空格從數字
- 28. Cygwin修剪尾隨空白
- 29. 和寫入前導空格
- 30. 在jQuery中修剪右邊的空格
它是如何不 「乾淨」 使用'String.trim()'? – syb0rg 2013-03-15 18:01:41
因爲我必須寫一條額外的線。此外,它必須創建一個全新的對象,所以效率稍差。 – user1377000 2013-03-15 18:03:14
你不能在源代碼中爲你知道如何使用的函數提供** 1 **額外的行嗎? – syb0rg 2013-03-15 18:05:42