gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:41 25 4
gpt4 key购买 nike

试图找出一种方法来获取字符串中两个可预测元素之间的文本(包括)。

示例:

完整字符串 = [http:Something] 一二三 [http:AnotherOne] 四 [http:BlahBlah] sdksaod,cne 9ofew {}@:P{

理想结果:

String1 = [http:Something] 一二三

String2 = [http:AnotherOne] 四

String3 = [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);
}
}

最佳答案

使用 string.Split() 的替代非正则表达式方法.

string pattern = "[http";

string[] output = input.Split(new[] { pattern }, StringSplitOptions.RemoveEmptyEntries)
.Select(res => pattern + res).ToArray();

由于 Split() 从它生成的字符串元素中删除了分隔符,我们使用 Linq Enumerable.Select() 重新组合这些结果并添加回分隔符生成新值的方法。

关于c# - 在部分限制器/短语之间获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50569232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com