tx
2025-04-09 fa7510e1ed63df0366787fa4ed1b3db6426d2b46
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace TProduct
{
    public class StringHelper
    {
        // System.Text.RegularExpressions.Regex regxs = new System.Text.RegularExpressions.Regex("^[\u4E00-\u9FA5]|[\uFE30-\uFFA0]$");
        static System.Text.RegularExpressions.Regex regxs = new System.Text.RegularExpressions.Regex("[\u4e00-\u9fbb]");
       
        /// <summary>
        /// 是否有中文
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        static public int IsHaveCn(string str)
        {
            if (string.IsNullOrEmpty(str))
                return 0;
            if (regxs.IsMatch(str))
                return 1;
            else
                return -1;
        }
 
        /// <summary>
        /// 替换全角文字
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string Replace全角文字(string str)
        {
            if (string.IsNullOrEmpty(str))
                return str;
 
            /**/
            // /全角空格为12288,半角空格为32
            // /其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
            // /
            char[] quan = str.ToCharArray();
            for (int i = 0; i < quan.Length; i++)
            {
                var quanVal = quan[i];
 
                if (quanVal == 12288)
                {
                    quan[i] = (char)32;
                }
                else if (quanVal > 65280 && quanVal < 65375)
                {
                    quan[i] = (char)(quanVal - 65248);
                }
                else if (quanVal.Equals('Ⅰ'))
                {
                    quan[i] = 'I';
                }
            }
            str = string.Join("", quan);
            return str;
        }
    }
}