本文整理汇总了C#中System.StringComparison.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# StringComparison.GetType方法的具体用法?C# StringComparison.GetType怎么用?C# StringComparison.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.StringComparison
的用法示例。
在下文中一共展示了StringComparison.GetType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSubstringToTokenWithSpecifiedNumber
/// <summary>
/// Возвращает подстроку из входной строки, которая отчитывается от указанной позиции и до указанного вхожденя указанного токена.
/// </summary>
/// <param name="Input"></param>
/// <param name="Token">Номер вхождения указанного токена, начиная с 1</param>
/// <param name="Number"></param>
/// <param name="StartPosition"></param>
/// <param name="ComparisonType"></param>
/// <returns></returns>
public static String GetSubstringToTokenWithSpecifiedNumber(String Input, String Token, Byte Number, Int32 StartPosition, StringComparison ComparisonType)
{
if (Input.IsStringNullEmptyWhiteSpace() == true) { throw new ArgumentException("Входная строка не может быть NULL, пустой или состоящей из одних пробелов", "Input"); }
if (Token.IsStringNullOrEmpty() == true) { throw new ArgumentException("Токен не может быть NULL или пустой строкой", "Token"); }
if (Enum.IsDefined(ComparisonType.GetType(), ComparisonType) == false)
{ throw new InvalidEnumArgumentException("ComparisonType", (Int32)ComparisonType, ComparisonType.GetType()); }
if (String.Compare(Input, Token, ComparisonType) == 0) { throw new ArgumentException("Входная строка не может быть равна токену"); }
if (Input.Contains(Token, ComparisonType) == false) { return Input; }
if (Number == 0) { throw new ArgumentOutOfRangeException("Number", "Номер вхождения указанного токена не может быть нулевой"); }
if (StartPosition < 0) { throw new ArgumentOutOfRangeException("StartPosition", StartPosition, "Начальная позиция не может быть меньше 0"); }
String sub = Input.Substring(StartPosition);
Int32 nums_of_occureses = StringTools.StringAnalyzers.GetNumberOfOccurencesInString(sub, Token, ComparisonType);
if (Number > nums_of_occureses) { throw new ArgumentOutOfRangeException("Number", "Указанная бозиция больше, чем количество вхождений токена в части строки"); }
List<int> positions = StringTools.StringAnalyzers.GetPositionsOfTokenInString(sub, Token, ComparisonType);
Int32 desired_position = positions[Number - 1];
return sub.Substring(0, desired_position);
}
示例2: TruncateToClosestToken
/// <summary>
/// Возвращает исходную строку, в которой обрезана её часть от начала или от конца до ближайшего указанного токена
/// </summary>
/// <param name="Input">Входящая строка, из которой надо извлечь подстроку</param>
/// <param name="Token">Токен, который определяет точку обрезания и также обрезается</param>
/// <param name="LeaveToken">Если "true" - ближайший токен будет оставлен. Если "false" - он тоже будет удалён.</param>
/// <param name="Dir">Направление, с которого будет обрезана подстрока: из начала или из конца</param>
/// <param name="ComparisonType">Опции сравнения строк между собой</param>
/// <returns></returns>
public static String TruncateToClosestToken(String Input, String Token, Boolean LeaveToken, StringTools.Direction Dir, StringComparison ComparisonType)
{
if (Input.IsStringNullEmptyWhiteSpace() == true) { throw new ArgumentException("Входная строка не может быть NULL, пустой или состоящей из одних пробелов", "Input"); }
if (Token.IsStringNullOrEmpty() == true) { throw new ArgumentException("Токен не может быть NULL или пустой строкой", "Token"); }
if (Enum.IsDefined(ComparisonType.GetType(), ComparisonType) == false)
{ throw new InvalidEnumArgumentException("ComparisonType", (Int32)ComparisonType, ComparisonType.GetType()); }
if (String.Compare(Input, Token, ComparisonType) == 0) { throw new ArgumentException("Входная строка не может быть равна токену"); }
if (Input.Contains(Token, ComparisonType) == false) { return Input; }
Int32 token_length = Token.Length;
switch (Dir)
{
case StringTools.Direction.FromStartToEnd:
Int32 index_of_first_token = Input.IndexOf(Token, ComparisonType);
if (LeaveToken == true)
{
return Input.Remove(0, index_of_first_token);
}
else
{
return Input.Remove(0, index_of_first_token + token_length);
}
case StringTools.Direction.FromEndToStart:
Int32 index_of_last_token = Input.LastIndexOf(Token, ComparisonType);
if (LeaveToken == true)
{
return Input.Remove(index_of_last_token + token_length);
}
else
{
return Input.Remove(index_of_last_token);
}
default:
throw new InvalidEnumArgumentException("Dir", (Int32)Dir, Dir.GetType());
}
}