繁体   English   中英

从String中减去字符串

[英]Subtract String from 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

你可以做

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

使用子字符串:

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

要么

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

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

您可以删除不是您想要的所有内容:

s.replaceAll("[^0-9\\.]*", "")
StringTokenizer tk = new StringTokenizer(str, " sec");
String result = tk.nextToken(); 

要么

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

要么

使用substring作为@Blekit建议。

添加了这样的回答说, String.replace应该被用来代替String.replaceAll ,因为使用的replaceAll正则表达式/模板类,未在这种情况下需要。

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

那么使用StringTokenizer呢?

new StringTokenizer("0.2 Sec").nextToken();

它将返回“0.2”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM