从String中减去字符串

时间:2014-04-08 12:49:01

标签: java string

我有一个字符串1.2 sec或说0.4 sec我想要做的很简单,只需从字符串末尾删除sec即可。我想在一行中做到这一点。我知道其他方法,转换为char数组搜索空间和删除以及所有之后,但我想知道这是否可以像"1.2 sec" - " sec"或像time - " sec"或类似的东西,但只是在一行或两个。如果没有,那么我知道该怎么做。但是如果有的话呢?

更新

如果我执行此代码:

String time = stopwatch1.getjLabel4text();
String replace = time.replace(" sec","");
System.out.println(replace+"");
System.out.println(time+"");

我得到输出:

2.0 Sec
2.0 Sec

7 个答案:

答案 0 :(得分:4)

你可以做到

    String str = "1.2 sec";
    String requiredString = str.substring(0,str.indexOf('s')).trim();

答案 1 :(得分:2)

使用子字符串:

str.substring(0, str.length() - " sec".length());

str.substring(0, str.indexOf(" "));

答案 2 :(得分:2)

假设字符串存储在s中,您可以使用s.replaceAll(" Sec","")将其删除。

答案 3 :(得分:1)

您可以删除所有不符合要求的内容:

s.replaceAll("[^0-9\\.]*", "")

答案 4 :(得分:0)

StringTokenizer tk = new StringTokenizer(str, " sec");
String result = tk.nextToken(); 

str.replaceAll(" sec", "");

使用substring作为@Blekit建议。

答案 5 :(得分:0)

添加了这个答案,说应该使用String.replace而不是String.replaceAll,因为replaceAll使用regex / Pattern类,在这种情况下不需要。

String result = str.replace(" Sec","");

答案 6 :(得分:0)

使用StringTokenizer

怎么样?
new StringTokenizer("0.2 Sec").nextToken();

它将返回“0.2”