在工作中遇到的问题
来和大家分享一下 js 、c# 利用正则替换每一项
题:把字符串中的 以 ‘@’符号开头 空格或空白字符结束的项 加上A标签
如: str="你好 @网络 @虫" 结果应该是 str="你好 <a>@网络</a> <a>@虫</a>"
js:
var str = "ab@c12 dkfk@jab c345";
var regx = /@\w*\s*?/g;
var rs = str.match(regx);
for (var i = 0; i < rs.length; i++) {
alert(rs[i]);
str = str.replace(rs[i],"<a>"+rs[i]+"</a>");
}
alert(str);
c#:
/// <summary>
/// 将@开头或者以空格结束的字符串 加上链接
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
public string replcehref(string content)
{
string pattern = @"@\w*\s*?";
Regex reg = new Regex(pattern, RegexOptions.Singleline);
MatchCollection mc = reg.Matches(content);
string nickname = string.Empty;
foreach (Match m in mc)
{
try
{
nickname = m.Groups[0].Value.Substring(1);
content = content.Replace(m.Groups[0].Value, "<a>" + m.Groups[0].Value+"</a>");