StringPlus.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. using System;
  2. using System.Text;
  3. namespace Ant.ORM
  4. {
  5. /// <summary>
  6. ///string操作类。
  7. /// </summary>
  8. public class StringPlus
  9. {
  10. StringBuilder str;
  11. public string Value
  12. {
  13. get
  14. {
  15. return str.ToString();
  16. }
  17. }
  18. public StringPlus()
  19. {
  20. str=new StringBuilder();
  21. }
  22. public StringPlus(string s)
  23. {
  24. str = new StringBuilder(s);
  25. }
  26. #region 增加Tab空格缩进或间隔
  27. /// <summary>
  28. /// 增加Tab空格缩进或间隔
  29. /// </summary>
  30. /// <param name="num">间隔数</param>
  31. /// <returns></returns>
  32. public string Space(int SpaceNum)
  33. {
  34. StringBuilder strspace=new StringBuilder();
  35. for(int n=0;n<SpaceNum;n++)
  36. {
  37. strspace.Append("\t");
  38. }
  39. return strspace.ToString();
  40. }
  41. #endregion
  42. #region 增加文本
  43. /// <summary>
  44. /// 增加文本
  45. /// </summary>
  46. /// <param name="num"></param>
  47. /// <returns></returns>
  48. public string Append(string Text)
  49. {
  50. str.Append(Text);
  51. return str.ToString();
  52. }
  53. /// <summary>
  54. /// 增加文本
  55. /// </summary>
  56. /// <param name="num"></param>
  57. /// <returns></returns>
  58. public string Append(StringPlus s)
  59. {
  60. str.Append(s.ToString());
  61. return str.ToString();
  62. }
  63. /// <summary>
  64. /// 将通过处理复合格式字符串(包含零个或零个以上格式项)返回的字符串追加到此实例。每个格式项都替换为形参数组中相应实参的字符串表示形式。
  65. /// </summary>
  66. /// <param name="Text"></param>
  67. /// <param name="obj"></param>
  68. /// <returns></returns>
  69. public string AppendFormat(string Text, params object[] obj)
  70. {
  71. str.AppendFormat(Text, obj);
  72. return str.ToString();
  73. }
  74. #endregion
  75. #region 追加一行文本,带回车换行。
  76. /// <summary>
  77. /// 追加回车换行。
  78. /// </summary>
  79. public string AppendLine()
  80. {
  81. str.Append("\r\n");
  82. return str.ToString();
  83. }
  84. /// <summary>
  85. /// 追加一行文本,带回车换行。
  86. /// </summary>
  87. /// <param name="Text">文本</param>
  88. /// <returns></returns>
  89. public string AppendLine(string Text)
  90. {
  91. str.Append(Text + "\r\n");
  92. return str.ToString();
  93. }
  94. #endregion
  95. #region 追加一行文本,前面加空格缩进,后面带回车换行。
  96. /// <summary>
  97. /// 追加一行文本,前面加空格缩进
  98. /// </summary>
  99. /// <param name="SpaceNum">空格缩进数目</param>
  100. /// <param name="Text">文本</param>
  101. /// <returns></returns>
  102. public string AppendSpace(int SpaceNum, string Text)
  103. {
  104. str.Append(Space(SpaceNum));
  105. str.Append(Text);
  106. return str.ToString();
  107. }
  108. /// <summary>
  109. /// 追加一行文本,前面加空格缩进,后面带回车换行。
  110. /// </summary>
  111. /// <param name="SpaceNum">空格缩进数目</param>
  112. /// <param name="Text">文本</param>
  113. /// <returns></returns>
  114. public string AppendSpaceLine(int SpaceNum,string Text)
  115. {
  116. str.Append(Space(SpaceNum));
  117. str.Append(Text);
  118. str.Append("\r\n");
  119. return str.ToString();
  120. }
  121. public override string ToString()
  122. {
  123. return str.ToString();
  124. }
  125. #endregion
  126. #region 删除字符
  127. /// <summary>
  128. /// 删除最后结尾的一个逗号
  129. /// </summary>
  130. public void DelLastComma()
  131. {
  132. string strtemp = str.ToString().Trim();
  133. if (strtemp.EndsWith(","))
  134. {
  135. strtemp = strtemp.TrimEnd(',');
  136. str = new StringBuilder();
  137. str.Append(strtemp);
  138. }
  139. }
  140. /// <summary>
  141. /// 删除最后结尾的指定字符后的字符
  142. /// </summary>
  143. public void DelLastChar(string strchar)
  144. {
  145. string strtemp = str.ToString();
  146. int n = strtemp.LastIndexOf(strchar);
  147. if (n > 0)
  148. {
  149. str = new StringBuilder();
  150. str.Append(strtemp.Substring(0, n));
  151. }
  152. }
  153. /// <summary>
  154. /// 删除指定位置的字符
  155. /// </summary>
  156. /// <param name="Start">开始索引</param>
  157. /// <param name="Num">删除个数</param>
  158. public void Remove(int Start, int Num)
  159. {
  160. //string strtemp = str.ToString();
  161. //str = new StringBuilder();
  162. //str.Append(strtemp.Substring(0, strtemp.LastIndexOf(strchar)));
  163. str.Remove(Start, Num);
  164. }
  165. #endregion
  166. }
  167. }