StringHelper.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. namespace SCC.Common
  7. {
  8. /// <summary>
  9. /// 字符串操作 - 工具方法
  10. /// </summary>
  11. public static partial class StringHelper
  12. {
  13. #region ContainsChinese(是否包含中文)
  14. /// <summary>
  15. /// 是否包含中文
  16. /// </summary>
  17. /// <param name="text">文本</param>
  18. public static bool ContainsChinese(string text)
  19. {
  20. const string pattern = "[\u4e00-\u9fa5]+";
  21. return Regex.IsMatch(text, pattern);
  22. }
  23. #endregion
  24. #region ContainsNumber(是否包含数字)
  25. /// <summary>
  26. /// 是否包含数字
  27. /// </summary>
  28. /// <param name="text">文本</param>
  29. public static bool ContainsNumber(string text)
  30. {
  31. const string pattern = "[0-9]+";
  32. return Regex.IsMatch(text, pattern);
  33. }
  34. #endregion
  35. #region Distinct(去除重复)
  36. /// <summary>
  37. /// 去除重复
  38. /// </summary>
  39. /// <param name="value">值,范例1:"5555",返回"5",范例2:"4545",返回"45"</param>
  40. public static string Distinct(string value)
  41. {
  42. var array = value.ToCharArray();
  43. return new string(array.Distinct().ToArray());
  44. }
  45. #endregion
  46. #region 删除最后一个字符之后的字符
  47. /// <summary>
  48. /// 删除最后结尾的一个逗号
  49. /// </summary>
  50. public static string DelLastComma(string str)
  51. {
  52. return str.Substring(0, str.LastIndexOf(",", StringComparison.Ordinal));
  53. }
  54. /// <summary>
  55. /// 删除最后结尾的指定字符后的字符
  56. /// </summary>
  57. public static string DelLastChar(string str, string strchar)
  58. {
  59. return str.Substring(0, str.LastIndexOf(strchar, StringComparison.Ordinal));
  60. }
  61. /// <summary>
  62. /// 删除最后结尾的长度
  63. /// </summary>
  64. /// <param name="str"></param>
  65. /// <param name="Length"></param>
  66. /// <returns></returns>
  67. public static string DelLastLength(string str, int Length)
  68. {
  69. if (string.IsNullOrEmpty(str))
  70. return "";
  71. str = str.Substring(0, str.Length - Length);
  72. return str;
  73. }
  74. #endregion
  75. #region 快速验证一个字符串是否符合指定的正则表达式
  76. /// <summary>
  77. /// 快速验证一个字符串是否符合指定的正则表达式。
  78. /// </summary>
  79. /// <param name="express">正则表达式的内容。</param>
  80. /// <param name="value">需验证的字符串。</param>
  81. /// <returns>是否合法的bool值。</returns>
  82. public static bool QuickValidate(string express, string value)
  83. {
  84. if (value == null) return false;
  85. Regex myRegex = new Regex(express);
  86. if (value.Length == 0)
  87. {
  88. return false;
  89. }
  90. return myRegex.IsMatch(value);
  91. }
  92. #endregion
  93. }
  94. }