Java:查找某个字符并获取子字符串

时间:2014-06-05 19:12:02

标签: java python string

我有一个字符串4.9.14_05_29_16_21,我只需要4.9。数字不同,所以我不能简单地得到这个char数组的前三个元素。我必须找到最合适的.并将其子串到那里。

我来自Python,因此我将展示Python方法。

def foobar(some_string):
    location = some_string.rfind('.')
    new_string = some_string[0:location]
    return new_string

我如何用Java做到这一点?

3 个答案:

答案 0 :(得分:4)

使用String#lastIndexOfString#substring

int location = someString.lastIndexOf('.');
String newString = someString.substring(0, location);

另请注意,我已经假定了Java的命名约定(即camelCase)。如果可能存在输入不包含句点的情况,您可以检查location是否为否定并包含处理该案例的逻辑。

答案 1 :(得分:3)

您应该使用以下方法:

如果字符串不包含任何.,请务必进行错误检查,即lastIndexOf返回-1

public String getBeforePeriod(String input) {
  int index = input.lastIndexOf('.');
  return index > -1 ? input.substring(0,index) : input;
}

答案 2 :(得分:0)

使用String.indexOf()方法为substring()方法提供一秒参数。 这是一个更多信息的链接。 http://www.tutorialspoint.com/java/java_string_indexof.htm