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

本文关键字:字符串 提取 取文本 何使用 正则表达式 | 更新日期: 2023-09-27 18:12:59

我现在要做的是:

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"上传完成"
in varr2 "0"

只有varr2可能会在下一次更改,可能是"1"或"45.5"在我将秒添加到字符串textforspeech之前,它只有:

"upload completed 100",这样我可以制作substring(17)substring(0,16)但是现在我在100之后添加了秒数,那么如何将其全部提取到三个变量中呢?

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

你可以这样做:

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