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. NSAttributedString UILabelの末尾切り捨て
- 4. JavaScriptの先頭と末尾のスペースを削除
- 5. jqueryの - 「フォーカスアウトオン」にスペースを先頭と末尾のトリム
- 6. 配列の先頭と末尾の0を、存在する場合にのみ切り捨てます。
- 7. 文字列の先頭と末尾の特定の文字を切り捨てる
- 8. 先頭と末尾のスペースを削除しますか?
- 9. 時間形式と先頭/末尾のゼロ/スペース
- 10. 行の先頭と最後に切り取り、行の末尾と末尾に貼り付けます
- 11. 行の先頭と末尾のGrep?
- 12. ギャラリーの先頭と末尾に
- 13. 末尾のゼロを切り捨てる正規表現
- 14. 末尾の文字を切り捨てる
- 15. SQL変数の末尾の数字を切り捨てます
- 16. 先頭または末尾の空白を切り詰めるテンプレートフィルタ
- 17. ASP.NET:HttpRequest.Urlは末尾の '。'を切り捨てます。文字
- 18. 末尾のグループを正規表現で切り捨てます
- 19. Bashの各要素の先頭と末尾を削除する
- 20. PILは文字の先頭を切り捨てます
- 21. プロットの先頭のメインタイトルは切り捨てられます
- 22. Javascript:軸の先頭と末尾にラベルを追加する
- 23. 先頭と末尾のスラッシュを削除する/
- 24. sedでファイルの先頭と末尾を編集するには
- 25. 末尾のスペース
- 26. PostgreSQLは先頭と末尾の文字をトリミング:=と「
- 27. C#のファイルの先頭と末尾にテキストを追加
- 28. Rubyのstrip()(ストリップの先頭と末尾のスペース)に対応するvimscriptはありますか?
- 29. 文字列の先頭と末尾に一致するJavaパターン?
- 30. Bashディレクトリ内のすべてのファイルの先頭と末尾のスペースを削除するスクリプト
どのように 'String.trim()'を使用するために、 "クリーン" ではないでしょうか? – syb0rg
私は余分な行を書く必要があるので。また、新しいオブジェクト全体を作成する必要がありますので、少し効率が悪くなります。 – user1377000
使い方を知っている機能のソースコードに** 1 **余分な行を用意することはできませんか? – syb0rg