Java 对于ArrayList<;字符串>;对于长元素,如何跳过第一行?

Java 对于ArrayList<;字符串>;对于长元素,如何跳过第一行?,java,arraylist,Java,Arraylist,我有一个字符串数组列表 系统输出打印LN(Al.get(1)) 系统输出打印LN(Al.get(2)) 有没有办法跳过标题行,这样我就可以在不将标题与序列完全分离的情况下对序列进行分析?您只需要输入的子字符串,该子字符串在第一个换行符之后开始。这很简单: private static String trimHeader(String input) { return input.substring(input.indexOf('\n') + 1); } 您可以通过(NS)将字符串拆分/标

我有一个字符串数组列表

系统输出打印LN(Al.get(1))

系统输出打印LN(Al.get(2))


有没有办法跳过标题行,这样我就可以在不将标题与序列完全分离的情况下对序列进行分析?

您只需要输入的子字符串,该子字符串在第一个换行符之后开始。这很简单:

private static String trimHeader(String input) {
    return input.substring(input.indexOf('\n') + 1);
}

您可以通过
(NS)
将字符串拆分/标记化,前提是在标题和序列行中有一个模式

这将为您提供项目的顺序

String sequence = AI.get(1).split("(NS)")[1]

工作得很有魅力,非常感谢@我很高兴你发现这个有用。为了教你钓鱼(而不是仅仅给你一条鱼):请注意,我对你的问题的表述与你原来的问题的措辞略有不同,我展示的代码几乎是问题陈述的直译:“开始(at)的输入的子字符串”是
String.substring(int)
和“第一个换行符的位置”是
.indexOf('\n')
,我在使用
+1
之后将“(at)”变成了“。这是学习用语言思考的一个很好的练习。(实际上,任何语言。)作为读者的练习:在什么情况下该方法会引发异常?我只看到一个异常,而且它非常牵强(字符串不包含换行符的明显失败模式已经被处理了,尽管可能不是很明显)
private static String trimHeader(String input) {
    return input.substring(input.indexOf('\n') + 1);
}
String sequence = AI.get(1).split("(NS)")[1]