白开心
IT博客
::
首页
:: ::
联系
::
聚合
::
管理
::
9 随笔 :: 76 文章 :: 28 评论 :: 0 Trackbacks
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
公告
独坐在路边街角,冷风吹醒,默默地伴着我的孤影。
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(12)
给我留言
查看公开留言
查看私人留言
文章分类
.Net(学习ing...)(39)
(rss)
Asp+vbScript(14)
(rss)
JavaScript(14)
(rss)
T-SQL(8)
(rss)
经典收藏(8)
(rss)
设计模式
(rss)
文章档案
2013年4月 (1)
2013年3月 (1)
2012年7月 (1)
2012年4月 (1)
2011年10月 (1)
2011年8月 (1)
2011年3月 (1)
2011年2月 (1)
2011年1月 (1)
2010年9月 (1)
2010年6月 (1)
2010年4月 (2)
2010年1月 (1)
2009年11月 (1)
2009年10月 (6)
2009年9月 (3)
2009年8月 (2)
2009年5月 (1)
2008年10月 (2)
2008年9月 (2)
2008年7月 (2)
2008年6月 (1)
2008年3月 (1)
2008年2月 (1)
2008年1月 (1)
2007年12月 (5)
2007年11月 (4)
2007年10月 (2)
2007年9月 (2)
2007年7月 (1)
2007年6月 (2)
2007年4月 (2)
2007年1月 (1)
2006年12月 (1)
2006年11月 (2)
2006年8月 (1)
2006年7月 (1)
2006年5月 (2)
2006年4月 (1)
2006年2月 (1)
2006年1月 (1)
2005年12月 (10)
相册
PhotoShop Study For HuangHuaXiang
我的相册
收藏夹
.NET(1)
(rss)
其他类别
(rss)
搜索
最新评论
1. re: JQUERY的表单异步提交[未登录]
1111111
--111
2. re: JQUERY的表单异步提交
eqedqedasd
--123
3. re: 委托和匿名函数
评论内容较长,点击标题查看
--bracelet shopping
4. re: 递归查询
您好!你的在我这里怎么执行不了啊!
--小陈
5. re: JS操作Xml的相关方法[未登录]
不能保丰到服务器上?
--11
阅读排行榜
1. 窦房折返性心动过速(928)
2. ∷∷∷∷男人感悟一百条∷∷∷∷(710)
3. 人生致命的八个经典问题(657)
4. 秋天不回来(570)
5. 圣诞(467)
评论排行榜
1. 圣诞(0)
2. 人生致命的八个经典问题(0)
3. ∷∷∷∷男人感悟一百条∷∷∷∷(0)
4. 窦房折返性心动过速(0)
5. 秋天不回来(0)
字符串处理相关函数
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
NcZerg
{
/**/
///
<summary>
///
字符串操作函数
///
</summary>
public
class
StringHandle
{
/**/
///
<summary>
///
截取字符串并且关键字颜色显示
///
</summary>
///
<param name="StringValue">
输入字符串
</param>
///
<param name="HighValues">
关键字
</param>
///
<param name="Len">
显示长度
</param>
///
<returns></returns>
public
string
Highline(String StringValue, String[] HighValues,
int
Len)
{
if
(StringValue
==
String.Empty)
return
String.Empty;
List
<
int
>
BeforePositions
=
new
List
<
int
>
();
List
<
int
>
AfterPositions
=
new
List
<
int
>
();
String BeforeStr
=
"
<font color=\
"
red\
"
>
"
;
String AfterStr
=
"
</font>
"
;
String StringPad
=
"
"
;
String[] SplitValues;
int
before, after;
for
(
int
i
=
0
; i
<
HighValues.Length; i
++
)
{
if
(HighValues[i]
==
String.Empty)
continue
;
SplitValues
=
StringValue.Split(
new
string
[]
{ HighValues[i] }
, StringSplitOptions.None);
if
(SplitValues.Length
==
1
)
continue
;
for
(
int
j
=
1
; j
<
SplitValues.Length; j
++
)
{
before
=
after
=
0
;
for
(
int
k
=
0
; k
<
j; k
++
)
{
before
+=
SplitValues[k].Length;
after
+=
SplitValues[k].Length;
}
before
+=
(j
-
1
)
*
HighValues[i].Length;
after
+=
j
*
HighValues[i].Length;
BeforePositions.Add(before);
AfterPositions.Add(after);
}
}
BeforePositions.Sort();
AfterPositions.Sort();
StringValue
=
InterceptString(StringValue, Len);
int
AddLen
=
0
;
for
(
int
i
=
0
; i
<
BeforePositions.Count; i
++
)
{
if
(i
>
0
&&
BeforePositions[i]
<
AfterPositions[i
-
1
])
{
continue
;
}
if
((StringValue.EndsWith(StringPad)
&&
StringValue.Length
-
3
>=
BeforePositions[i]
+
AddLen)
||
(
!
StringValue.EndsWith(StringPad)
&&
StringValue.Length
>=
BeforePositions[i]
+
AddLen))
{
StringValue
=
StringValue.Insert(BeforePositions[i]
+
AddLen, BeforeStr);
AddLen
+=
BeforeStr.Length;
if
((StringValue.EndsWith(StringPad)
&&
StringValue.Length
-
3
>=
AfterPositions[i]
+
AddLen)
||
(
!
StringValue.EndsWith(StringPad)
&&
StringValue.Length
>=
AfterPositions[i]
+
AddLen))
{
StringValue
=
StringValue.Insert(AfterPositions[i]
+
AddLen, AfterStr);
AddLen
+=
AfterStr.Length;
}
else
{
StringValue
+=
AfterStr;
break
;
}
}
}
if
(StringValue.LastIndexOf(BeforeStr)
>
StringValue.LastIndexOf(AfterStr))
{
StringValue
+=
AfterStr;
}
return
StringValue;
}
/**/
///
<summary>
///
截取字符串函数
///
</summary>
///
<param name="Str">
输入字符串
</param>
///
<param name="Len">
截取长度
</param>
///
<returns></returns>
private
String InterceptString(String StringValue,
int
Len)
{
String Res
=
String.Empty;
String StringPad
=
"
"
;
int
Sum
=
0
;
if
(getStringLen(StringValue)
<=
Len)
{
return
StringValue;
}
else
{
/**/
///
截取左边 Str 第 Len - 3 个字符串返回
for
(
int
i
=
0
; i
<
StringValue.Length; i
++
)
{
if
(Sum
>=
Len
-
3
)
{
break
;
}
if
(((
int
)(StringValue[i]))
>
126
)
{
/**/
///
是汉字 Sum += 2
Sum
+=
2
;
if
(Sum
>
Len
-
3
)
{
break
;
}
}
else
{
Sum
++
;
}
Res
+=
StringValue[i].ToString();
}
Res
+=
StringPad;
}
return
Res;
}
/**/
///
<summary>
///
获取字符串长度函数
///
</summary>
///
<param name="Str"></param>
///
<returns></returns>
public
int
getStringLen(String StringValue)
{
int
sum
=
0
;
foreach
(
char
c
in
StringValue)
{
if
(((
int
)(c))
>
126
)
{
sum
++
;
}
sum
++
;
}
return
sum;
}
}
}
posted on 2007-12-20 12:08
白开心
阅读(362)
评论(0)
编辑
收藏
引用
所属分类:
.Net(学习ing...)
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © 白开心