一个简单的正则表达式问题

gypb 2005-02-03 02:28:19
我有如下字符

;aaaaa
abcd;

eeee

要替换为
go
;aaaaa
abcd;
go
eeee
其实就是把单行的字符前后空格去掉后如果等于分号就替换为go,
请高人指点
...全文
147 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
nga96 2005-02-03
  • 打赏
  • 举报
回复
UP
landlordh 2005-02-03
  • 打赏
  • 举报
回复
改进:
s = "^ *; *$"

saucer(思归) 的对如下的不能正确匹配:
'加多几行回车,它会匹配到上面的回车,而不是每一行



;aaaaa
abcd;

eeee
xzhy80 2005-02-03
  • 打赏
  • 举报
回复
`xue xi
landlordh 2005-02-03
  • 打赏
  • 举报
回复
eg.:

s="^ *[^\S]*; *[^\S]" '注意中间有空格
saucer 2005-02-03
  • 打赏
  • 举报
回复
string s= @"
;
;aaaaa
abcd;
;
eeee";


s = Regex.Replace(s, @"^\s*;\s*$", "go", RegexOptions.Multiline);
Console.WriteLine("{0}", s);


or


s = Regex.Replace(s, @"(?<=^|\n)\s*;\s*(?=\n|$)", "go");
chsfly 2005-02-03
  • 打赏
  • 举报
回复
使用正表达式吧.
gypb 2005-02-03
  • 打赏
  • 举报
回复
靠,解决问题的没有,灌水的到不少
cym40011 2005-02-03
  • 打赏
  • 举报
回复

可以不用正则表达式的


string strS=";\r\n ;aaaaa \r\n abcd;\r\n;\r\n eeee\r\n ";
this.TextBox2.Text=strS;
string strR=strS.Trim();
string strResult="";
string[] str=strS.Split("\r\n".ToCharArray());
int i=str.Length;
for(int j=0;j<i;j++)
{
if(str[j]==";")
str[j]="go";
strResult+=str[j];
}
this.TextBox1.Text=strResult;
GX198302 2005-02-03
  • 打赏
  • 举报
回复
yes u r right
老汉 2005-02-03
  • 打赏
  • 举报
回复
学习一下。
ET2004 2005-02-03
  • 打赏
  • 举报
回复
既然你自己都觉得简单,so...I think you can do it yourself.

110,535

社区成员

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

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

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