///<summary>
///按最大字节数,截取字符串
///</summary>
///<paramname="value">要截取的字符串</param>
///<paramname="length">最大长度</param>
///<returns></returns>
privatestringIntercept(stringvalue,intlength)
{
if(value.Length*2<=length)
{
returnvalue;
}
stringnewvalue;
for(inti=length/2;i<value.Length;i++)
{
newvalue=value.Substring(0,i);
if(Encoding.Default.GetByteCount(newvalue)>length)
{
returnvalue.Substring(0,i-1);
}
}
returnvalue;
}
正确替换多个匹配内容
privatevoidbutton1_Click(objectsender,EventArgse)
{
Regexregx=newRegex(@"\[image\]",RegexOptions.IgnoreCase);
stringcontent=textBox1.Text;
Matchm=regx.Match(content);
while(m.Success)
{
content=content.Remove(m.Index,m.Value.Length);
content=content.Insert(m.Index,"[picture]");
m=regx.Match(content);
}
textBox2.Text=content;
}
方法二:
privatevoidbutton1_Click(objectsender,EventArgse)
{
Regexregx=newRegex(@"\[image\]",RegexOptions.IgnoreCase);
stringcontent=textBox1.Text;
content=regx.Replace(content,newMatchEvaluator(DoMatch));
textBox2.Text=content;
}
privatestringDoMatch(Matchm)
{
return"[picture]";
}function fmt(s) {var value = s.replace(/,/g, "");var v = value.replace(/(\d+)(\.\d+)?/, "$1");var d = value.replace(/(\d+)(\.\d+)?/, "$2");var reg = /\d{4,}\b/;while (reg.test(v)) {v = v.replace(/(\d{3})\b/, ',$1');}return v + d; ;}