在线等,求一正则替换,已经给出代码

我看你有戏 2008-11-29 08:34:47

using System;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Regex regex = new Regex(@"[0-9\[\]]");
string Str_tb4 = "火星生活第3季[07]";
Str_tb4 = regex.Replace(Str_tb4, "");
Console.WriteLine(Str_tb4);
Console.ReadLine();
}//如何做到输出 火星生活第3季
}
}

//测试通过就马上给分

...全文
98 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
我看你有戏 2008-11-30
  • 打赏
  • 举报
回复
早点把代码贴出来多好啊,哈哈,谢了
root_ 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 henry3695 的回复:]
可能的情况
就是把
某个字符串中的类似: [07] [0125] [493]

类似这种都把他替换掉,连中括号都替换掉
[/Quote]

那楼主有没有试过我2楼的代码,如果试过了,你能不能告诉我哪个例子它替换的结果不对?


//这是我2楼的代码,楼主究竟试过没有?
Regex regex = new Regex(@"\[[^\]]*\]");
string Str_tb4 = "火星生活第3季[07]";
Str_tb4 = regex.Replace(Str_tb4, "");
Console.WriteLine(Str_tb4);
Console.ReadLine();
//如果只要替换[]中是数字的,换成这样
Regex regex = new Regex(@"\[[0-9]*\]");
string Str_tb4 = "火星生活第3季[07]";
Str_tb4 = regex.Replace(Str_tb4, "");
Console.WriteLine(Str_tb4);
Console.ReadLine();
tianleping 2008-11-29
  • 打赏
  • 举报
回复
那用什么正则,取最后一个'['的位置substring不就行了
我看你有戏 2008-11-29
  • 打赏
  • 举报
回复
可能的情况
就是把
某个字符串中的类似: [07] [0125] [493]

类似这种都把他替换掉,连中括号都替换掉
root_ 2008-11-29
  • 打赏
  • 举报
回复
那就把你的可能性列出来,自己不把规律说出来,还让大家猜啊

替换什么样规律的字符串,说不清楚就给例子,同时给出对应的结果,把可能出现的情况的例子都给出来
我看你有戏 2008-11-29
  • 打赏
  • 举报
回复
想说一下
这个只是一个简单的字符串

到实际问题中会比较长的,所以可能性比较多

各位大侠,小弟诚心求教
我看你有戏 2008-11-29
  • 打赏
  • 举报
回复
到第这个能不能用正则呢

郁闷Ing
root_ 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 henry3695 的回复:]
大哥,不用正则我心里不舒服的啊,快能做就帮帮忙啊,测试通过就给满分了
[/Quote]

你倒底懂不懂正则啊,我2楼写的就是正则
不要为了用正则而用正则
我看你有戏 2008-11-29
  • 打赏
  • 举报
回复
大哥,不用正则我心里不舒服的啊,快能做就帮帮忙啊,测试通过就给满分了
root_ 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 henry3695 的回复:]
火星生活第3季[07]
火星生活第3季[08]
火星生活第3季[09]

我的意思是把后面带框框的数字替换掉,且不能把前面的数字也替换掉

[/Quote]

如果只是这样,那我2楼写的已经满足你的要求了


还是那句话,这种需求完全没必要用正则
string Str_tb4 = "火星生活第3季[07]";
Str_tb4 = Str_tb4.Remove(Str_tb4.IndexOf("["));
Console.WriteLine(Str_tb4);
Console.ReadLine();
我看你有戏 2008-11-29
  • 打赏
  • 举报
回复
火星生活第3季[07]
火星生活第3季[08]
火星生活第3季[09]

我的意思是把后面带框框的数字替换掉,且不能把前面的数字也替换掉
root_ 2008-11-29
  • 打赏
  • 举报
回复
就一个例子根本看不出什么规律,不知道你要替换掉的是什么
目前要的这个结果完全没必要用正则

Regex regex = new Regex(@"\[[^\]]*\]");
string Str_tb4 = "火星生活第3季[07]";
Str_tb4 = regex.Replace(Str_tb4, "");
Console.WriteLine(Str_tb4);
Console.ReadLine();
tianleping 2008-11-29
  • 打赏
  • 举报
回复
Regex regex = new Regex(@"[\d{2}]");

试试

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧