java中的切片字符串
如何在java中切片字符串?我从csv和xls中获取行,例如,单元格中的数据如下 14.015_奥迪 我怎么能说java必须只看部分内容?所以在操纵之后,我必须有14.015。在rails中,我将使用gsub实现这一点,但在java中如何实现这一点 您可以使用:java中的切片字符串,java,string,excel,Java,String,Excel,如何在java中切片字符串?我从csv和xls中获取行,例如,单元格中的数据如下 14.015_奥迪 我怎么能说java必须只看部分内容?所以在操纵之后,我必须有14.015。在rails中,我将使用gsub实现这一点,但在java中如何实现这一点 您可以使用: 您应该添加错误检查(例如,数组的大小与预期一致)而不是创建新列表并进行两次复制的拆分,我将使用对原始字符串有效且不创建新字符串的子字符串 String s = "14.015_AUDI"; String firstPart = s.su
您应该添加错误检查(例如,数组的大小与预期一致)而不是创建新列表并进行两次复制的拆分,我将使用对原始字符串有效且不创建新字符串的子字符串
String s = "14.015_AUDI";
String firstPart = s.substring(0, s.indexOf("_"));
番石榴
List pieces=Splitter.on(“”).splitToList(“14.015_奥迪”);
字符串numberPart=parts.get(0);
字符串audi=parts.get(1);
应该更短:
"14.015_AUDI".split("_")[0];
需要注意的是,在Rails中使用gsub进行此操作是非常过分的,您应该使用split,与Java相同。
indexof
必须在indexof
@Youssef中更改,感谢修复此错误,它返回AUDI
。需要是stringfirstpart=s.substring(0,s.indexOf(“”)+1)代码>OP通缉14.015
谢谢,我已经修复了,您在这里不使用任何错误处理。糟糕。在这种情况下,这是可以接受的,因为空字符串的split()将生成一个包含单个空字符串的数组,但如果您想访问元素[1],则会得到一个异常。始终检查可能出现的错误!!这只是一个操作示例。如果你需要更多的功能,你必须编写自己的程序。比什么短?如果你喜欢这种split
方法,你应该通过一个限制,比如节省内存和时间。这是不可能的。优化的第一条规则-不要优化。如果需要的话——这是另一个问题。通过这种方式,我们可以检测JavaScript开发人员——所有这些都应该更短!;-)我认为这样更好,因为Java类文件很小。Поздравляю с 10000! ;-)你可以添加一个实际切片字符串的方法吗?或者OP可以更改帖子标题?如果你真的坚持使用split
方法,可以减少浪费——但从概念上来说,一个更正确的解决方案可能是传统的indexOf
+substring
。典型的“切片”是共享存储的东西split
返回两个新分配的字符串。
String s = "14.015_AUDI";
String firstPart = s.substring(0, s.indexOf("_"));
List<String> pieces = Splitter.on("_").splitToList("14.015_AUDI");
String numberPart = parts.get(0);
String audi = parts.get(1);
"14.015_AUDI".split("_")[0];