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

如何在java中切片字符串?我从csv和xls中获取行,例如,单元格中的数据如下

14.015_奥迪

我怎么能说java必须只看部分内容?所以在操纵之后,我必须有14.015。在rails中,我将使用gsub实现这一点,但在java中如何实现这一点

您可以使用:


您应该添加错误检查(例如,数组的大小与预期一致)

而不是创建新列表并进行两次复制的拆分,我将使用对原始字符串有效且不创建新字符串的子字符串

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];