• C# 获取JSON字符串中匹配起始标识的字符串


    DEMO:

           /// <summary>
            /// 获取字符串中多个匹配起止标志的字符串
            /// </summary>
            /// <param name="inputString"></param>
            /// <param name="patternStart"></param>
            /// <param name="patternEnd"></param>
            /// <returns></returns>
            public static List<string> GetMatchesWithoutStartEndFromString(string inputString, string patternStart, string patternEnd)
            {
                if (string.IsNullOrWhiteSpace(inputString))
                    return null;
                //定义正则表达式,解析得到  [ 与 ] 之间的内容,内容包括 [ 和 ]
                string patttern = string.Format(@"({0}).*?({1})", patternStart, patternEnd);
                //解析得到多个 [ 与 ] 之间内容,保存在 matches 中
                List<string> listItems = new List<string>();
                MatchCollection matches = Regex.Matches(inputString, patttern, RegexOptions.IgnoreCase);
                foreach (Match m in matches)
                {
                    listItems.Add(m.Value.Replace(patternStart, "").Replace(patternEnd, ""));
                }
                return listItems;
            }
            /// <summary>
            /// 获取字符串中单个匹配起止标志的字符串
            /// </summary>
            /// <param name="inputString"></param>
            /// <param name="patternStart"></param>
            /// <param name="patternEnd"></param>
            /// <returns></returns>
            public static string GetMatchWithoutStartEndFromString(string inputString, string patternStart, string patternEnd)
            {
                if (!string.IsNullOrWhiteSpace(inputString))
                {
                    string patttern = string.Format(@"({0}).*?({1})", patternStart, patternEnd);
                    Match match = Regex.Match(inputString, patttern, RegexOptions.IgnoreCase);
                    if (match.Success)
                    {
                        return match.Value.Replace(patternStart, "").Replace(patternEnd, "");
                    }
                }
                return string.Empty;
            }
     
     
    使用:
     
     string strUserName = StringHelper.GetMatchWithoutStartEndFromString(inputString, ""UserName":", ",");
                var regex = new System.Text.RegularExpressions.Regex(@"^d+$");
                bool isMatch = regex.IsMatch(strUserName.Replace(""", "").Replace("'", ""));
                if (!isMatch)
                { }
  • 相关阅读:
    IntelliJ Idea 授权服务器使用
    git 查看对比分支commit命令笔记
    手动搭建一个webpack+react笔记
    并查集的初步认识
    多视口的实现
    对相机的理解及使用多相机绘制只旋转的坐标系
    拾取模型的原理及其在THREE.JS中的代码实现
    面向工程领域的图形平台介绍
    ftgl 绘制文字
    occ 中绘制二维矩形
  • 原文地址:https://www.cnblogs.com/johsan/p/12448263.html
Copyright © 2020-2023  润新知