如何使用正则表达式或子字符串从字符串中提取文本?

时间:2015-09-15 11:10:19

标签: c# .net regex winforms substring

我现在正在做的是:

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之后的秒数,那么如何将它们全部提取到三个变量?

1 个答案:

答案 0 :(得分:1)

您可以这样做:

string[] parts = textforspeech.split(new char[] { ' ' });

string varr = parts[2]; // "100"
string varr1 = string.format("{0} {1}", parts[0], parts[1]);  // "upload completed"
string varr2 = parts[3]; // value