Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在斜杠之间找到子字符串并在ASP.NET C中替换该部分#_C#_Replace_Substring - Fatal编程技术网

C# 在斜杠之间找到子字符串并在ASP.NET C中替换该部分#

C# 在斜杠之间找到子字符串并在ASP.NET C中替换该部分#,c#,replace,substring,C#,Replace,Substring,使用ASP.NET C#,我需要在最后两个斜杠之间查找并替换单词string1,并替换为string2 示例: string fullStr = "/this/is/string1/part"; string subStr = "function"; string finalStr = "/this/is/" + subStr + "/part"; 我觉得这里不需要正则表达式 string fullStr = "/this/is/string1/part"; string subStr = "

使用ASP.NET C#,我需要在最后两个斜杠之间查找并替换单词string1,并替换为string2

示例:

string fullStr = "/this/is/string1/part";
string subStr = "function";
string finalStr = "/this/is/" + subStr + "/part";

我觉得这里不需要正则表达式

string fullStr = "/this/is/string1/part";
string subStr = "function";

string[] fullStrParts = fullStr.Split('/');
fullStrParts[fullStrParts.Length - 2] = subStr;

string finalStr = string.Join("/", fullStrParts);
和一个正则表达式解决方案:

string fullStr = "this/is/string1/part";
string subStr = "function";

var newstr = Regex.Replace(fullStr, @"/[^/]+/(?=[^/]+$)", m => "/" + subStr + "/");

您对这个
/this/is/string1/part/string1/some
和这个
/this/is/string1string1/part
有什么期望?输入字符串的可能重复项就是示例中的一个,需要用代码中的变量替换单词string1@george解决方案可以使用正则表达式,以/anystring/格式查找匹配数,取最后一个并替换为新的string@hsobhy我认为这不够复杂,不需要讨论太多。见下面的答案。如果这不是你的期望,那么你必须用更多的信息更新问题。这可能是我的语言和我解释事情的方式,我需要找到string1单词,它不是我已知的静态部分:)因此,此逻辑将替换最后两个单词之间的任何单词
/
@hsobhy您想找到从某个方式检索的某个子字符串吗?例如,
public void GGG(字符串输入,字符串子字符串,字符串替换){var res=Regex.replace(输入,子字符串,(项)=>!item.NextMatch().Success?replace:item.Value);}
谢谢@GeorgeAlexandria:)