C#用正则截取字符串并替换里面的字符

stringstr="asdasd-qwe-qwe-qwa,aqweq,[a-a-1.gif],asd-123asd";如何截取上面这段字符串中的[a-a-1.gif]并... string str="asdasd-qwe-qwe-qwa,aqweq,[a-a-1.gif],asd-123asd";
如何截取上面这段字符串中的[a-a-1.gif]并把里面的"-"替换成“_”
成为[a_a_1.gif] 注:只替换中括号内的“-”,外面的不替
展开
 我来答
翾翳嬿
推荐于2016-09-13 · TA获得超过423个赞
知道小有建树答主
回答量:190
采纳率:66%
帮助的人:259万
展开全部

这个简单

string str = "asdasd-qwe-qwe-qwa,aqweq,[a-a-1.gif],asd-123asd";
Regex rgx = new Regex(@"\[[^]]+\]");
str=rgx.Replace(str, (m) =>
{
    return m.Value.Replace("-", "_");
});
Console.WriteLine(str);

或者

string str = "asdasd-qwe-qwe-qwa,aqweq,[a-a-1.gif],asd-123asd";
str = Regex.Replace(str, @"(?<=\[[^\]]*)-+(?=[^\]]*\])", "_");
Console.WriteLine(str);

如果你的格式都是类似形式的,应该都可以替换成功。

追问
不行啊,一个都没有替换成功
追答
你要替换文本是什么,我给你的示例是可以的。还有你的代码怎么写的?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式