找回密码
 注册
搜索
热搜: 回贴

ASP.NET技巧:全角字符转换为半角

2009-12-13 12:34| 发布者: admin| 查看: 76| 评论: 0|原作者: 夙玉

〖方法一: /**////

方法一:
/**////
/// 判断字符是否英文半角字符或标点
///

///
/// 32 空格
/// 33-47 标点
/// 48-57 0~9
/// 58-64 标点
/// 65-90 A~Z
/// 91-96 标点
/// 97-122 a~z
/// 123-126 标点
///

public static bool IsBjChar(char c)
{
int i = (int)c;
return i >= 32 && i <= 126;
}
/**////
/// 判断字符是否全角字符或标点
///

///
/// 全角字符 - 65248 = 半角字符
/// 全角空格例外
///

public static bool IsQjChar(char c)
{
if (c == '\u3000') return true;
int i = (int)c - 65248;
if (i < 32) return false;
return IsBjChar((char)i);
}
/**////
/// 将字符串中的全角字符转换为半角
///

public static string ToBj(string s)
{
if (s == null || s.Trim() == string.Empty) return s;
StringBuilder sb = new StringBuilder(s.Length);
for (int i = 0; i < s.Length; i++)
{
if (s[i] == '\u3000')
sb.Append('\u0020');
else if (IsQjChar(s[i]))
sb.Append((char)((int)s[i] - 65248));
else
sb.Append(s[i]);
}
return sb.ToString();
}
方法二:
添加 Microsoft Visual Basic.NET Runtime 引用。
Console.WriteLine(Microsoft.VisualBasic.Strings.StrConv("abcdefg", VbStrConv.Narrow, 0));

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 15:30 , Processed in 0.143243 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部