【发布时间】:2015-12-11 14:51:41
【问题描述】:
我现在正在做的是:
if (textforspeech.contains("upload completed"))
{
String varr = textforspeech.substring(17,3);
String varr1 = textforspeech.substring(0, 16);
String varr2 = textforspeech.substring(21);
但我的程序在第一个子字符串 17,3 上崩溃
textforspeech中的文字是:“上传完成100 0”
数字 100 目前的百分比并且将一直是 100。
而数字 0 存在的秒数有时可以更改为 0 有时为 1 有时为 34.5
在varr 我需要把 100 作为字符串“100”
在varr1“上传完成”
在varr2“0”
只有varr2 可能会在下一次更改为“1”或“45.5”
在我将秒数添加到字符串 textforspeech 之前,它只是:
“上传完成 100”所以我可以制作 substring(17) 和 substring(0,16)
但是现在我在 100 之后添加了秒数,那么如何将其全部提取到三个变量中?
【问题讨论】:
-
使用
.LastIndexOf(' ')+1获取最后一个号码。前两个值是已知的,为什么要提取它们?只需分配:String varr = "100"; String varr1 = "upload completed";。以及为什么要在if中分配变量? -
它是包含而不是包含和子字符串而不是子字符串。方法名称以大写字母开头。
-
糟糕,抱歉,它是 java 而不是 c#。我会提出新的问题。这个怎么办?
标签: c# .net regex winforms substring