字符串拓展
public static bool IsEmpty(this string s) => string.IsNullOrEmpty(s);
public static bool IsBlank(this string s) => string.IsNullOrWhiteSpace(s);
public static string EmptyToDefault(this string s, string defStr) => s.IsEmpty() ? defStr : s;
/// <summary>
/// 替换匹配第一个
/// </summary>
/// <param name="s"></param>
/// <param name="oldStr"></param>
/// <param name="newStr"></param>
/// <param name="right">从右到左</param>
/// <returns></returns>
public static string ReplaceOnce(this string s, string oldStr, string newStr, bool right = false) {
if (s.IsEmpty() || oldStr.IsEmpty() || !s.Contains(oldStr)) {
return s;
}
int indexOf = right ? s.LastIndexOf(oldStr) : s.IndexOf(oldStr);
string first = s.Substring(0, indexOf);
string last = "";
if (indexOf + oldStr.Length < s.Length) {
last = s.Substring(indexOf + oldStr.Length);
}
return first + newStr + last;
}
/// <summary>
/// 格式化(java) "123{}456{}789",["a","bcd"] => "123a456bcd789"
/// </summary>
/// <param name="s"></param>
/// <param name="pStrings"></param>
/// <returns></returns>
public static string Format(this string s, params string[] pStrings) {
if (s.IsEmpty() || pStrings.Length == 0) {
return s;
}
int i = 0;
while (s.Contains("{}")) {
if (i >= pStrings.Length) {
break;
}
s = s.ReplaceOnce("{}", pStrings[i]);
i++;
}
return s;
}
数组列表拓展
public static string Join<T>(this IEnumerable<T> source, string separator = ",") => string.Join(separator, source);