学海无涯

导航

Regex 正则表达式

去除字符串中连续空格,多个空格变为一个?

A:使用正则匹配之后替换:

str = Regex("[\\s]+").Replace(str, " ");

 在线生成正则表达式

https://ihateregex.io/
日期时间正则表达式:


/// <summary>
  /// 根据字符串,生成实例
  /// </summary>
  /// <param name="marks"></param>
  public void GenerateModel(DepartmentCategories category, string marks)
  {
    this.DepartmentCategories = category;
    姓名 = marks.Trim().Split(ConstHelper.MAO_HAO).First();
    marks = marks.Replace(姓名 + ConstHelper.MAO_HAO, "").Trim();
    string regexPattern = $@"\b\d{{4}}/\d{{1,2}}/\d{{1,2}} \d{{1,2}}:\d{{1,2}}:\d{{1,2}}\b";
    var regResult = Regex.Match(marks, regexPattern);
    string dateString = string.Empty;
    if (regResult.Success)
    {
      dateString = regResult.Groups.Values.First().ToString().Trim();
      marks = marks.Replace(dateString, string.Empty);
      string format = "yyyy/M/d HH:mm:ss";

      DateTime dateTime;

      if (DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
      {
        操作日期 = dateTime;
      }
      else
      {
        // 转换失败
        Console.WriteLine($"无法将{dateString}日期字符串转换为有效的日期。");
      }
    }
    原因 = marks.Trim();
  }

  

 

posted on 2022-09-19 19:00  宁静致远.  阅读(25)  评论(0编辑  收藏  举报