NameFormat.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Azylee.Core.DataUtils.StringUtils
  6. {
  7. public class NameFormat
  8. {
  9. public static string ToCamelCase(string s)
  10. {
  11. string result = "";
  12. if (Str.Ok(s))
  13. {
  14. if (s.IndexOf('_') >= 0)
  15. {
  16. bool upFlag = false;
  17. char[] cArray = s.ToArray();
  18. foreach (var c in cArray)
  19. {
  20. if (c == '_')
  21. {
  22. upFlag = true;
  23. continue;
  24. }
  25. if (upFlag)
  26. {
  27. result += c.ToString().ToUpper();
  28. upFlag = false;
  29. }
  30. else
  31. {
  32. result += c.ToString().ToLower();
  33. }
  34. }
  35. }
  36. else
  37. {
  38. result = s;
  39. }
  40. }
  41. return result;
  42. }
  43. public static string ToUpCamelCase(string s)
  44. {
  45. string result = "";
  46. if (Str.Ok(s))
  47. {
  48. bool upFlag = false;
  49. char[] cArray = s.ToArray();
  50. for (int i = 0; i < cArray.Length; i++)
  51. {
  52. char c = cArray[i];
  53. if (c == '_')
  54. {
  55. upFlag = true;
  56. continue;
  57. }
  58. if (upFlag || i == 0)
  59. {
  60. result += c.ToString().ToUpper();
  61. upFlag = false;
  62. }
  63. else
  64. {
  65. result += c.ToString().ToLower();
  66. }
  67. }
  68. }
  69. return result;
  70. }
  71. public static string ToUnderline(string s)
  72. {
  73. string result = "";
  74. if (Str.Ok(s))
  75. {
  76. char[] cArray = s.ToArray();
  77. foreach (var c in cArray)
  78. {
  79. char cUpper = char.ToUpper(c);
  80. char cLower = char.ToLower(c);
  81. if (c >= 'A' && c <= 'Z')
  82. {
  83. result += "_";
  84. }
  85. result += char.ToLower(c);
  86. }
  87. }
  88. return result;
  89. }
  90. }
  91. }