zoukankan      html  css  js  c++  java
  • 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)
                { }
  • 相关阅读:
    eclipse中的Invalid text string (xxx).
    在jsp文件中出现Unknown tag (c:out)
    eclipse 界面复原
    ecilpse 纠错插件
    Multiple annotations found at this line:- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    Port 8080 required by Tomcat v9.0 Server at localhost is already in use. The server may already be running in another process, or a system process may be using the port.
    调用第三方https接口
    调用第三方http接口
    创建带值枚举
    spring整合redis之Redis配置文件
  • 原文地址:https://www.cnblogs.com/johsan/p/12448263.html
Copyright © 2011-2022 走看看