我有一个字符串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
答案 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”