1、asp.net 常量有字符无法识别的转义可以试着在前面加个@
2、利用正则表达式中分组操作字符数据。
如实现电话1354635****效果
string
str
=
"
13532536463
"
;
string temp = Regex.Replace(str, @" [\d]{4}$ " , " **** " , RegexOptions.RightToLeft);
Console.Write(temp);
string temp = Regex.Replace(str, @" [\d]{4}$ " , " **** " , RegexOptions.RightToLeft);
Console.Write(temp);
分组提取字符数据
代码
string
str
=
"
a=2&b=2&3
"
;
MatchCollection matchs = Regex.Matches(str, @" \w=\d " );
for ( int i = 0 ; i < matchs.Count; i ++ )
{
Console.WriteLine(matchs[i].Value);
}
MatchCollection matchs = Regex.Matches(str, @" \w=\d " );
for ( int i = 0 ; i < matchs.Count; i ++ )
{
Console.WriteLine(matchs[i].Value);
}
结果:a=2 b=2
如果还想得到a=2中的a和2可以这样写
代码
string
str
=
"
a=2&b=2&3
"
;
MatchCollection matchs = Regex.Matches(str, @" \w=\d " );
for ( int i = 0 ; i < matchs.Count; i ++ )
{
Match match = Regex.Match(matchs[i].Value, @" (\w)=(\d) " );
if (match.Success)
{
string value = match.Groups[ 1 ].Value; // 这里注意这个分组的起始下标是1
string num = match.Groups[ 2 ].Value;
Console.WriteLine( " 字母是: " + value + " 数字是: " + num);
}
}
MatchCollection matchs = Regex.Matches(str, @" \w=\d " );
for ( int i = 0 ; i < matchs.Count; i ++ )
{
Match match = Regex.Match(matchs[i].Value, @" (\w)=(\d) " );
if (match.Success)
{
string value = match.Groups[ 1 ].Value; // 这里注意这个分组的起始下标是1
string num = match.Groups[ 2 ].Value;
Console.WriteLine( " 字母是: " + value + " 数字是: " + num);
}
}