正则表达式(一个字符串翻转的例子)
Exam1:把"abcd"翻为"dcba"
string
str
=
"
abcd
"
;
char [] charstr = str.tochararray();
Array.reverse(charstr);
Response.WriteLine( new string (charstr));
char [] charstr = str.tochararray();
Array.reverse(charstr);
Response.WriteLine( new string (charstr));
Exam2: 把"i am programmer" 翻为"programmer am i"。其中必须支持把"i%%am***programmer"翻为"programmer***am%%i"
using
System;
using System.Collections;
using System.Text.RegularExpressions;
public static string Reverse( string str)
{
ArrayList r=new ArrayList();
foreach(Match m in Regex.Matchs(str,@"(\w+)|(\W+)"))
{
r.Add(m.Value);
}
r.Reverse();
return string.Concat({string[]}r.ToArray(typeof(string)));
}
static void Main( string [] args)
{
Console.WriteLine(Reverse("i%%am***programmer"));
}
using System.Collections;
using System.Text.RegularExpressions;
public static string Reverse( string str)
{
ArrayList r=new ArrayList();
foreach(Match m in Regex.Matchs(str,@"(\w+)|(\W+)"))
{
r.Add(m.Value);
}
r.Reverse();
return string.Concat({string[]}r.ToArray(typeof(string)));
}
static void Main( string [] args)
{
Console.WriteLine(Reverse("i%%am***programmer"));
}
这种方法利用正则表达式,轻巧地将字符串中的单词放在一起做为一个单元。
\w:匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。
\W:任何非字字符匹配。与“[^A-Za-z0-9_]”等效。