다음과 같이 할 수 있습니다.
문자열을 잘라내어 첨부 된 코드로 금지 된 부분을 제거하십시오.
var myResult = TruncateString(yourinput, 137).VariableSafeString();
여기에는 remove를 사용하여 잘립니다.
private string TruncateString(string input, int length)
{
if (input == null || input.Length < length)
return input;
return input.Remove(length, input.Length - length) + "...";
}
그리고 일부 확장 메서드
public static class StringMethods
{
/// <summary>
/// Remove nordic characters and accents
/// Example
/// "ÅÄÖ/\\íå íàøëîñü ôîðìû äëÿ îòïðàâêè" will be returned as "AAO/\\ia iaøeinu oiðiu aey ioiðaaee"
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string RemoveDiacritics(this string s)
{
string normalizedString = s.Normalize(NormalizationForm.FormD);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < normalizedString.Length; i++)
{
char c = normalizedString[i];
if (CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)
stringBuilder.Append(c);
}
return stringBuilder.ToString();
}
/// <summary>
/// Make string variable safe
/// Example
/// "ÅÄÖ/\\íå íàøëîñü ôîðìû äëÿ îòïðàâêè" will be returned as "AAOiaiaeinuoiiuaeyioiaaee"
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string VariableSafeString(this string s)
{
return Regex.Replace(s.RemoveDiacritics(), "[^0-9a-zA-Z]+", "");
}
}
나는 당신이 정규 표현식을 조금 조정해야 할 수도 있습니다 가정합니다. 행운을 빌며 즐겁게 보내세요.