如何在Java中获取换行的索引号?

时间:2015-07-28 11:20:19

标签: java substring

我的文字

Agency ABC Agency CHS
Location Mumbai

我想从上面的文字中获取值“ABC Agency CHS”。 ABC Agency CHS是动态数据,可能会发生变化。同样,位置字段也可能会发生变化。

我正在使用substring来获取值

data.substring(data.indexOf("Agency") + ("Agency").length(), data.indexOf("Agency") + 25);

使用上面的代码,我得到了所需的值,但我知道这不是一个正确的解决方案。

是否有任何选项可以获取代理商行的换行符索引?

有人请建议更好的方法吗?感谢

3 个答案:

答案 0 :(得分:1)

您可以使用data.substring(data.indexOf("Agency") + 6, data.indexOf("\n"));

编辑:由于您可以使用多个换行符,

data.substring(data.indexOf("Agency") + 6, data.indexOf("\n", data.indexOf("Agency")));

这将获得字符串,直到“Agency”

之后的第一个换行符

答案 1 :(得分:1)

我会使用正则表达式。

的第一个捕获组
(?:^Agency )([A-Z]* .* [A-Z]*)

匹配ABC Agency CHS,允许ABCCHS的长度具有灵活性。前导Agency字符串只是被忽略(但匹配需要)。

答案 2 :(得分:0)

你可能想要这个

agency = data.substring(data.indexOf("Agency"), data.indexOf("Location"));
location=data.substring(data.indexOf("Location"), data.length);