• C#字符串处理:英文间保留一个空格,中文间空格删除。


    1.无论是网络爬虫还是解析本地文本的时候,对于取到的字符串信息往往需要格式化,

    英文之间的空格需要保留下来,但是汉字之间的空格往往是多余的不需要的。

    具体代码参考方法RemoveTrim

    using System;
    using System.Text.RegularExpressions;
    
    namespace ConsoleApplication1
    {
        internal static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            private static void Main()
            {
                const string constr = @"  God      is a    gril, I have 10 apples!
                上帝    是 女孩 子, 我有10  个苹果! ";
                var str1 = RemoveTrim(constr);
                Console.WriteLine(str1);
                Console.ReadKey();
            }
    
            /// <summary>
            /// 处理字符串:多个空格置换成一个空格,英文之间保留一个空格,汉字之间空格删除
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            private static string RemoveTrim(string str)
            {
                var strArray = Regex.Split(str, " ");
                if (strArray.Length <= 2)
                    return str.Replace(" ", string.Empty);
                var re = string.Empty;
                var regChina = new Regex("^[^\x00-\xFF]");
                var regEnglish = new Regex("^[a-zA-Z0-9]");
                foreach (var t in strArray)
                {
                    if (string.IsNullOrEmpty(t))
                        continue;
                    if (regChina.IsMatch(t) || !regEnglish.IsMatch(t))
                        re = re + t;
                    else
                    {
                        if (!string.IsNullOrEmpty(re))
                            re = re + " " + t;
                        else
                            re = t;
                    }
                }
                return re;
            }
        }
    }

    2.看一下输出结果

  • 相关阅读:
    [CTSC2018] 暴力写挂
    [20220210联考] 传染
    [20220208联考] 差量
    [20220214联考] 树上的棋局
    [JSOI2004] 平衡点 / 吊打XXX
    [CodeChef] Maximum and Minimum
    [20220210联考] 一般图带权多重匹配
    [NOI2019] 弹跳
    不可视境界线
    08 | 白话容器基础(四):重新认识Docker容器
  • 原文地址:https://www.cnblogs.com/yellow3gold/p/14373947.html
Copyright © 2020-2023  润新知