来自一定长度字符的子串

时间:2014-05-07 09:57:24

标签: java string java.util.scanner

我正在尝试从日志中读取一系列字符串。

目前字符串看起来类似于

:someuser some dates/times whatever :This is the message

我正在考虑使用扫描仪来检查起始字符是否确实是":#34;并且如果找到字符的长度到下一个":"然后使用substring(length)在实际消息之前删除字符串的第一部分。

但是我无法想到如何正确地做到这一点(主要是找到两者之间的长度":")。我该怎么做呢?

感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用它来查找两个:之间的文本长度:

String mystr=:someuser some dates/times whatever :This is the message;
int len=(mystr.split(":")[1]).length();

.split分割您的mystr并返回一个字符串数组。 0th 1st :外观1st之前的任何内容都是.lenght()元素,而数组的{{1}}元素是您想知道其长度的文本。

最后,{{1}}将返回该文本的长度。

答案 1 :(得分:0)

我是否正确假设你想在最后一个':'之前扔掉所有东西? 假设您已经将该行读入String line:

String message = line.substring(line.lastIndexOf(":")+1);

应该这样做。