C#正则表达式替换

C#正则表达式替换,c#,regex,str-replace,C#,Regex,Str Replace,我正在尝试重写一些包含URL的文本,例如: "/route/id" "/base/route/id" "/route2/id" "/base/route2/id" 文本中将有许多。引号是要匹配的文本的一部分 所有这些URL的格式都必须是“/base/…”,因此我需要将“/重写为”/base/,除非“/base已经存在。这是我正在努力解决的问题。我可以替换”/,但如果它后面已经跟有base,则不需要正则表达式: var listOfThingsAllWithBase = listOfThings

我正在尝试重写一些包含URL的文本,例如:

"/route/id"
"/base/route/id"
"/route2/id"
"/base/route2/id"
文本中将有许多。引号是要匹配的文本的一部分

所有这些URL的格式都必须是
“/base/…”
,因此我需要将
“/
重写为
”/base/
,除非
“/base
已经存在。这是我正在努力解决的问题。我可以替换
”/
,但如果它后面已经跟有
base
,则不需要正则表达式:

var listOfThingsAllWithBase = listOfThings.Select(a => a.StartsWith("\"/base") ? a : "\"/base" + a.Substring(1, a.Length - 2));

我的正则表达式有点生疏,但如果我没记错的话,应该会发现所有条目都不是以/base开头的
^(?!/base)

请注意,这不会处理现有的引号。e、 例如,“/route/id”将变为“/base”/route/id“。但是再多一点字符串操作就可以了。对于正则表达式问题的任何正确的非正则表达式答案,自动+1。谢谢dav_i。也许我不清楚,但这只是一个文本字符串,一行上可能有多个实例。所以这不是一个清单。@tim_barber_7BB:你应该用这个要求和一些完整的样本行更新你的问题。@tim_barber_7BB请用你的确切要求更新你的问题。如何在一行上显示多个实例?还有文本吗?这符合您的问题中所述的内容。请提供一些适当的示例,我们可以帮助您编写一些处理实际数据的内容。是否保留文件的格式?每行可以有多个URL吗?