为了账号安全,请及时绑定邮箱和手机立即绑定

在部分限制器/短语之间获取文本

在部分限制器/短语之间获取文本

C#
MMTTMM 2021-06-28 09:43:08
试图找出一种方法来获取字符串中两个可预测元素之间的文本(包括)。例子:完整字符串 = [http:Something] One Two Three [http:AnotherOne] Four [http:BlahBlah] sdksaod,cne 9ofew {}@:P{理想结果:字符串 1 = [http:Something] One Two Three字符串 2 = [http:AnotherOne] Four字符串 3 = [http:BlahBlah] sdksaod,cne 9ofew {}@:P{目前我可以得到结果,但它非常混乱,以后可能更难更新。有没有更好的方法来做到这一点?当前代码示例:String par = "[http//blah.com] One Two Three [http://wow.com] Four Five [http://another.com] Six";String[] paramUrls = par.Split(' ');List<String> paramPerURL = new List<String>();String temp = "";Boolean found = false;for(int z = 0; z < paramUrls.Length; z++){    if(paramUrls[z].Contains("[http")){                            if(found){            paramPerURL.Add(temp);        }        found = true;        temp = paramUrls[z] + " ";    } else{        temp += paramUrls[z] + " ";    }     if(z == paramUrls.Length -1){        paramPerURL.Add(temp);    }}
查看完整描述

3 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

如果我理解正确,您的字符串由以[text]序列开头的部分组成。如果是这种情况,并且您确定该[字符永远不会作为数据的一部分出现,您可以执行以下操作:

stringParts = Regex.Split(par, @"(?=\[)").Where(s => s != String.Empty).ToArray();

或者您可以使用 just par.Split('['),但在这种情况下,初始值[将从生成的字符串部分中删除。


查看完整回答
反对 回复 2021-07-10
  • 3 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信