我是用Word编辑器录入内容进数据库,读取数据的时候用DataList显示,但是只想截取128个字符,不过在截取的时候由于录入时使用了Word编辑器,有很多的格式字符串,我只想截取内容字符串,请问怎么处理。
解决方案 »
- datagridview中在选择框选中多行然后删除只能删除一行,怎么修改以下代码才可以删除选中的多行?
- 关于DataGridView_DataError事件的问题
- 用Show如何让子窗体显示在父窗体的中间?
- sl得到WCF的服务的实体对象提示System.Runtime.Serialization.IExtensibleDataObject没有
- Form form = sender as Form;是什么意思?
- 关于注册控件的调用问题 请各位帮忙!!谢谢
- 如何去掉小数点后面的0
- 如何在DragEnter事件中知道来源是不是本控件?
- 我的一个朋友问我的问题,我也不会,请大家帮忙。50分奉上。里面是她的E-Mail
- 关于menuItem的OwnDraw问题!
- 引用后为什么还是找不到类型和空间??
- QQ用户列表控件
比如下面是一个数据库的数据<div align="left"><b><span style="color: red; font-size: 18pt">一号轮防护打开</span></b></div>
<div align="left"><b><span style="color: lightgrey; font-size: 16pt">1ST WHEEL GUARD OPEN</span></b></div>
<div align="left"><span style="font-size: 16pt"> </span></div>
<div align="left"><span style="font-size: 16pt">可按如下方法诊断:</span></div>
<div align="left"><span style="font-size: 16pt"> </span></div>
<div align="left"><span style="font-size: 15pt">1、检查一轮防护是否正常.</span></div>
<div align="left"><span style="font-size: 15pt">2、检查防护开关(2S212)是否接好.</span></div>
<div align="left"><span style="font-size: 15pt">3、检查10号板的30脚是否有输入。</span></div>
<div align="left"><span style="font-size: 15pt">4、相关图纸编号:</span><span style="font-size: 16pt">http://</span><span style="font-size: 15pt">1207001</span></div>我只想截取格式之外的内容字符串
Regex r = new Regex(">[^<]+<");
MatchCollection mc = Regex.Matches( s, ">[^<]+<");
foreach( var t in mc)
{
Console.WriteLine(t.ToString());
}
MatchCollection mc = Regex.Matches(s, "(?<=>)[^<]+(?=<)");
string s = @"<div align=""left""><b><span style=""color: red; font-size: 18pt"">一号轮防护打开</span></b></div><div align=""left""><b><span style=""color: lightgrey; font-size: 16pt"">1ST WHEEL GUARD OPEN</span></b></div><div align=""left""><span style=""font-size: 16pt""> </span></div>";
MatchCollection mc = Regex.Matches(s, "(?<=>)[^<]+(?=<)");
foreach( var t in mc)
{
Console.WriteLine(t.ToString());
}
1,你需要写一个去掉字符中的html代码的方法,
2,然后在无html字符中,截取你想要多少个字符的方法。
/// <summary>
/// 去掉html字符
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
public static string NoHtml(string str)
{
Regex re = new Regex("<(.[^>]*)>");
str = re.Replace(str, "");
return str;
}
/// <summary>
/// 截取字符串
/// </summary>
/// <param name="inputString">字符串参数</param>
/// <param name="len">截取长度</param>
/// <param name="tail">超过长度自定义的尾巴</param>
/// <returns></returns>
public static string CutStr(string inputString, int len, string tail)
{
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
string tempString = "";
byte[] s = ascii.GetBytes(inputString);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
} try
{
tempString += inputString.Substring(i, 1);
}
catch
{
break;
} if (tempLen > len)
break;
}
//如果截过则加上设置的尾巴
byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString);
if (mybyte.Length > len)
tempString += tail;
return tempString;
}