gpt4 book ai didi

java - 从整数中删除字符

转载 作者:可可西里 更新时间:2023-11-01 15:11:03 26 4
gpt4 key购买 nike

FileDataModel 接受格式的数据

 userId,itemId,pref(long,long,Double).

目前我有一些 itemId 由数字末尾的“x”组成。如何编辑某些 itemID 以删除 'x' ?是否可以使用简单的 try catch 语句来做到这一点?

DataModel model = null;
try{
model = new FileDataModel(new File("book_data/BX-Book-Ratings.csv"));

}catch(NumberFormatException e){
REMOVE X


}

代码:

DataModel model = new FileDataModel(new File("book_data/BX-Book-Ratings.csv"));

错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "034545104X"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.parseLong(Long.java:631)

数据:

276725,034545104X,0
276726,155061224,5
276727,446520802,0
276729,052165615X,3

最佳答案

一种方法是在转换文件内容的文件上运行预处理器,以确保它与 FileDataModel 兼容。如果您的数据格式非常简单,您可以只使用正则表达式替换。否则,我建议使用一个可以将数据带入内存的解析器,然后使用转换器执行操作,最后使用序列化程序保存结果。

类似于:

File file = new File("book_data/BX-Book-Ratings.csv");
FileDataModelTransformer transformer = new FileDataModelTransformer();
transformer.transformInPlace(file);
DataModel model = new FileDataModel(file);

顺便说一句,依赖流或缓冲区比 File 更灵活。

关于java - 从整数中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40196498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com