Друзья, доброго времени суток!
Мы выпустили новую версию библиотеки AINStringUtils 2.0.0.0 для работы со строками в .NET и с радостью представляем её вам. Мы искренне верим, что теперь работа со строками в программах .NET станет ещё удобнее, ведь в дополнение к extension-методам из 1-й версии библиотеки мы добавили целых 100 новых методов для работы со строками! И в этой статье мы познакомим вас с основными улучшениями и теми новыми методами, которые прошли наш отбор и вошли в очередной релиз AINStringUtils.
100 новых extension-методов для работы со строками
Мы провели анализ того, каких методов не хватало в 1-й версии библиотеки AINStringUtils и, на основании результатов этого анализа, добавили те новые extension-методы, которые посчитали важными для повседневной работы со строками. Все они, по нашему скромному мнению, призваны облегчить жизнь разработчикам программ для .NET, ведь и мы сами пишем софт для платформы .NET и также постоянно используем нашу библиотеку AINStringUtils в деле. Именно поэтому мы хотим, чтобы она приносила полезные утилитные методы, избавляя программиста .NET от необходимости каждый раз реализовать алгоритмы работы со строками "с нуля" в своих проектах. Достаточно подключить библиотеку AINStringUtils к вашему проекту, и вы сразу получаете полезный набор функций для обработки строк, абсолютно бесплатно.
Итак, ниже представляем таблицу с описанием всех extension-методов, добавленных в новой версии AINStringUtils 2:
№ | Новый метод в версии 2.0.0.0 | Описание работы метода |
1 | AfterEach(String str, String separator) | [RU] Вставляет после каждого символа исходной строки строку-разделитель separator. Если строка-разделитель равна null или пуста, вернёт исходную строку [EN] Inserts a separator string separator after each character of the source string. If the delimiter string is null or empty, return the original string |
2 | AfterEach(String str, String separator, Boolean excludeLast) | [RU] Вставляет после каждого символа исходной строки строку-разделитель separator. Если строка-разделитель равна null или пуста, вернёт исходную строку. Если параметр excludeLast равен true, не будет добавлять строку-разделитель после последнего символа исходной строки [EN] Inserts a separator string separator after each character of the source string. If the delimiter string is null or empty, return the original string. If excludeLast is true, will not add a delimiter string after the last character of the source string |
3 | AfterEach(String str, String separator, Int32 length) | [RU] Вставляет после каждых последующих N символов исходной строки строку-разделитель separator, где N задаётся параметром length и определяет длину подстроки, после которой нужно вставлять строку-разделитель. Вернёт исходную строку, если строка-разделитель равна null или пуста, либо если length меньше или раве 0 или превышает длину исходной строки [EN] Inserts after each subsequent N characters of the source string a separator string separator, where N is specified by the length parameter and determines the length of the substring after which the separator string should be inserted. Returns the original string if the delimiter string is null or empty, or if length is less than or equal to 0 or greater than the length of the original string |
4 | AfterEach(String str, String separator, Int32 length, Boolean excludeLast) | [RU] Вставляет после каждых последующих N символов исходной строки строку-разделитель separator, где N задаётся параметром length и определяет длину подстроки, после которой нужно вставлять строку-разделитель. Вернёт исходную строку, если строка-разделитель равна null или пуста, либо если length меньше или равен 0 или превышает длину исходной строки. Если параметр excludeLast равен true, не будет добавлять строку-разделитель после последнего символа исходной строки [EN] Inserts after each subsequent N characters of the source string a separator string separator, where N is specified by the length parameter and determines the length of the substring after which the separator string should be inserted. Returns the original string if the delimiter string is null or empty, or if length is less than or equal to 0 or greater than the length of the original string. If excludeLast is true, will not add a delimiter string after the last character of the source string |
5 | Append(String str, Char appending) | [RU] Добавляет к концу исходной строки символ appending [EN] Appends the character appending to the end of the original string |
6 | Append(String str, String appending) | [RU] Добавляет к концу исходной строки строку appending. Если строка appending равна null или её длина равна 0, возвращается исходная строка [EN] Appends the string appending to the end of the original string. If the string appending is null or its length is 0, the original string is returned |
7 | Append(String str, Char appending, Int32 count) | [RU] Добавляет к концу исходной строки символ appending заданное количество раз, указанное в параметре count. Если count равен 0 или меньше 0, возвращается исходная строка [EN] Appends the character appending to the end of the original string the specified number of times specified in the count parameter. If count is 0 or less than 0, the original string is returned |
8 | Append(String str, String appending, Int32 count) | [RU] Добавляет к концу исходной строки строку appending заданное количество раз, указанное в параметре count. Если count меньше или равен 0, строка appending равна null или её длина равна 0, возвращается исходная строка [EN] Appends the string appending to the end of the original string the specified number of times specified in the count parameter. If count is less than or equal to 0, the string appending is null, or its length is 0, the original string is returned |
9 | AsSeparator<T>(String str, T[] values) | [RU] Использует исходную строку в качестве разделителя при соединении и преобразовании в строку массива объектов, заданных в параметре values. Если входной массив values равен null или имеет пустой размер, будет возвращена пустая строка. Элементы массива, равные null, не участвуют в объединении и не попадают в результирующую строку [EN] Uses the original string as the delimiter when concatenating and converting to a string the array of objects specified in the values parameter. If the input array values is null or has an empty size, an empty string will be returned. Array elements equal to null do not participate in the union and do not get into the resulting string |
10 | AsSeparator<T>(String str, ICollection<T> objects) | [RU] Использует исходную строку в качестве разделителя при соединении и преобразовании в строку коллекции объектов, заданных в параметре values. Если входнная коллекция values равна null или имеет пустой размер, будет возвращена пустая строка. Элементы коллекции, равные null, не участвуют в объединении и не попадают в результирующую строку [EN] Uses the original string as the delimiter when concatenating and converting to a string the collection of objects specified in the values parameter. If the input collection values is null or has an empty size, an empty string will be returned. Collection elements that are null do not participate in the union and do not appear in the resulting string |
11 | Bool(String str) | [RU] Преобразует строку к значению типа bool. В случае, если строка не может быть преобразована к значению типа bool без ошибки, будет возвращено значение false [EN] Converts a string to a bool value. If the string cannot be converted to a bool value without an error, false will be returned |
12 | Bool(String str, Boolean defaultValue) | [RU] Преобразует строку к значению типа bool. В случае, если строка не может быть преобразована к значению типа bool без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to a bool value. If the string cannot be converted to a bool value without an error, the value specified by the defaultValue parameter will be returned. |
13 | Byte(String str) | [RU] Преобразует строку к целому числу типа byte. В случае, если строка не может быть преобразована к целому числу без ошибки, будет возвращено значение 0 [EN] Converts a string to an integer of type byte. In case the string cannot be converted to an integer without an error, the value 0 will be returned. |
14 | Byte(String str, Byte defaultValue) | [RU] Преобразует строку к целому числу типа byte. В случае, если строка не может быть преобразована к целому числу без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to an integer of type byte. In case the string cannot be converted to an integer without an error, the value specified by the defaultValue parameter will be returned |
15 | Capitalize(String str) | [RU] Записывает все слова, содержащиеся во входной строке, с заглавной буквы [EN] Capitalizes all words in the input string |
16 | ContainsAll(String str, ICollection<String> substrings) | [RU] Возвращает true, если исходная строка содержит все подстроки из коллекции substrings. Если коллекция substrings равна null, метод возвращает false [EN] Returns true if the source string contains all substrings from the substrings collection. If the collection substrings is null, the method returns false |
17 | ContainsAll(String str, String[] substrings) | [RU] Возвращает true, если исходная строка содержит все подстроки, задаваемые параметром substrings. Если параметр substrings равен null или имеет нулевой размер, метод возвращает false [EN] Returns true if the source string contains all the substrings specified by substrings. If the substrings parameter is null or has zero size, the method returns false |
18 | ContainsAll(String str, String substring, params String[] substrings) | [RU] Возвращает true, если исходная строка содержит все подстроки, задаваемые параметрами substring и substrings. Параметр substrings является опциональным для перечисления дополнительных подстрок [EN] Returns true if the source string contains all the substrings specified by substring and substrings parameters. The substrings parameter is optional for listing additional substrings |
19 | ContainsAny(String str, ICollection<String> substrings) | [RU] Возвращает true, если исходная строка содержит хотя бы одну подстроку из коллекции substrings. Если коллекция substrings равна null или её размер равен нулю, метод возвращает false [EN] Returns true if the source string contains at least one substring from the substrings collection. If the substrings collection is null or its size is zero, the method returns false |
20 | ContainsAny(String str, String[] substrings) | [RU] Возвращает true, если исходная строка содержит хотя бы одну подстроку из массива substrings. Если параметр substrings равен null или имеет нулевой размер, метод возвращает false [EN] Returns true if the source string contains at least one substring from the substrings array. If the substrings parameter is null or has zero size, the method returns false |
21 | ContainsAny(String str, String substring, params String[] substrings) | [RU] Возвращает true, если исходная строка содержит хотя бы одну из подстрок, задаваемых параметрами substring и substrings. Параметр substrings является опциональным для перечисления дополнительных подстрок [EN] Returns true if the source string contains at least one of the substrings specified by the substring and substrings parameters. The substrings parameter is optional for listing additional substrings |
22 | Cut(String str) | [RU] Разделяет исходную строку посимвольно и возвращает массив строк, состоящий из всех символов исходной строки. Если длина исходной строки равна 0, то метод вернёт пустой массив строк [EN] Splits the source string character by character and returns a string array consisting of all the characters of the source string. If the length of the original string is 0, then the method will return an empty array of strings |
23 | Cut(String str, Int32 length) | [RU] Разделяет исходную строку на строки длиной length символов. Если длина исходной строки равна 0, то метод вернёт пустой массив строк. Длина последней подстроки в выходном массиве может быть меньше, чем length [EN] Splits the source string into strings of length characters. If the length of the original string is 0, then the method will return an empty array of strings. The length of the last substring in the output array can be less than length |
24 | Decimal(String str) | [RU] Преобразует строку к числу типа decimal. В случае, если строка не может быть преобразована к числу типа decimal без ошибки, будет возвращено значение 0M. Символы '.' исходной строки заменяются на ',' перед преобразованием к decimal [EN] Converts a string to a number of type decimal. In case the string cannot be converted to a decimal type without an error, the value 0M will be returned. Characters '.' of the source string are replaced with ',' before converting to decimal |
25 | Decimal(String str, decimal defaultValue) | [RU] Преобразует строку к числу типа decimal. В случае, если строка не может быть преобразована к типу decimal без ошибки, будет возвращено значение, задаваемое параметром defaultValue. Символы '.' исходной строки заменяются на ',' перед преобразованием к decimal [EN] Converts a string to a number of type decimal. In case the string cannot be converted to a decimal type without an error, the value specified by the defaultValue parameter will be returned. Characters '.' of the source string are replaced with ',' before converting to decimal. |
26 | Double(String str) | [RU] Преобразует строку к числу типа double. В случае, если строка не может быть преобразована к числу типа double без ошибки, будет возвращено значение 0d. Символы '.' исходной строки заменяются на ',' перед преобразованием к double [EN] Converts a string to a decimal number of type double. In case the string cannot be converted to a double type without an error, the value 0d will be returned. Characters '.' of the source string are replaced with ',' before converting to double |
27 | Double(String str, double defaultValue) | [RU] Преобразует строку к числу типа double. В случае, если строка не может быть преобразована к типу double без ошибки, будет возвращено значение, задаваемое параметром defaultValue. Символы '.' исходной строки заменяются на ',' перед преобразованием к double [EN] Converts a string to a number of type double. In case the string cannot be converted to a double type without an error, the value specified by the defaultValue parameter will be returned. Characters '.' of the source string are replaced with ',' before converting to double |
28 | Excludes(String str, String searchString) | [RU] Возвращает true, если исходная строка не содержит подстроку, задаваемую параметром searchString. Если searchString равен пустой строке, возвращает false. Если searchString равен null, возвращает true [EN] Returns true if the source string does not contain the substring specified by searchString. If searchString is equal to an empty string, returns false. If searchString is null, returns true |
29 | Float(String str) | [RU] Преобразует строку к числу типа float. В случае, если строка не может быть преобразована к числу типа float без ошибки, будет возвращено значение 0f. Символы '.' исходной строки заменяются на ',' перед преобразованием к float [EN] Converts a string to a number of type float. In case the string cannot be converted to a float type without an error, the value 0f will be returned. Characters '.' of the source string are replaced with ',' before converting to float |
30 | Float(String str, Single defaultValue) | [RU] Преобразует строку к числу типа float. В случае, если строка не может быть преобразована к типу float без ошибки, будет возвращено значение, задаваемое параметром defaultValue. Символы '.' исходной строки заменяются на ',' перед преобразованием к float [EN] Converts a string to a number of type float. In case the string cannot be converted to a decimal type without an error, the value specified by the defaultValue parameter will be returned. Characters '.' of the source string are replaced with ',' before converting to float. |
31 | GetWords(String str) | [RU] Возвращает список строк, которая содержит слова, выделенные из исходной строки. В качестве разделителей между словами используются следующие символы и escape-последовательности: пробел, \r, \n, \t, \f, \v, \x85 [EN] Returns a list of strings that contains the words selected from the source string. The following characters and escape sequences are used as delimiters between words: space, \r, \n, \t, \f, \v, \x85 |
32 | GetWords(String str, Char[] separators) | [RU] Возвращает список строк, которая содержит слова, выделенные из исходной строки. В качестве разделителей между словами используются символы, заданные параметром separators [EN] Returns a list of strings that contains the words extracted from the source string. The characters specified by the separators parameter are used as separators between words |
33 | GetWords(String str, ICollection<Char> separators) | [RU] Возвращает список строк, которая содержит слова, выделенные из исходной строки. В качестве разделителей между словами используются символы, заданные параметром separators [EN] Returns a list of strings that contains the words extracted from the source string. The characters specified by the separators parameter are used as separators between words |
34 | IfEmpty(String str, String defaultValue) | [RU] Если исходная строка пустая, возвращает строку, заданную параметром defaultValue. Если исходная строка непустая, возвращает исходную строку [EN] If the source string is empty, returns the string specified by the defaultValue parameter. If the original string is non-empty, returns the original string |
35 | IfEmptyOrBlank(String str, String defaultValue) | [RU] Если исходная строка пустая или содержит только whitespace-символы, возвращает строку, заданную параметром defaultValue. Если исходная строка непустая и не состоит из одних whitespace-символов, возвращает исходную строку [EN] If the source string is empty or contains only whitespace characters, returns the string specified by the defaultValue parameter. If the original string is non-empty and does not contain only whitespace characters, returns the original string |
36 | Int(String str) | [RU] Преобразует строку к целому числу типа int. В случае, если строка не может быть преобразована к целому числу без ошибки, будет возвращено значение 0 [EN] Converts a string to an integer of type int. In case the string cannot be converted to an integer without an error, the value 0 will be returned. |
37 | Int(String str, Int32 defaultValue) | [RU] Преобразует строку к целому числу типа int. В случае, если строка не может быть преобразована к целому числу без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to an integer of type int. In case the string cannot be converted to an integer without an error, the value specified by the defaultValue parameter will be returned |
38 | IsAllLower(String str) | [RU] Проверяет, что все символы строки, представляющие собой буквы, находятся в нижнем регистре. Учитываются латинские и кириллические буквы алфавита. Небуквенные символы (цифры и специальные символы) не участвуют в проверке [EN] Checks that all characters in a string that are letters are in lowercase. Latin and Cyrillic letters of the alphabet are taken into account. Non-alphabetic characters (numbers and special characters) do not participate in the check |
39 | IsAllUpper(String str) | [RU] Проверяет, что все символы строки, представляющие собой буквы, находятся в верхнем регистре. Учитываются латинские и кириллические буквы алфавита. Небуквенные символы (цифры и специальные символы) не участвуют в проверке [EN] Checks that all characters in a string that are letters are in uppercase. Latin and Cyrillic letters of the alphabet are taken into account. Non-alphabetic characters (numbers and special characters) do not participate in the check |
40 | IsEmptyOrBlank(String str) | [RU] Проверяет, пуста ли строка или содержит только whitespace-символы [EN] Сhecks whether string is either empty or contains only characters |
41 | Left(String str, Int32 length) | [RU] Получает указанное в параметре length количество символов слева от строки. Если параметр length равен 0 или отрицательный, будет возвращена исходная строка [EN] Gets the number of characters specified in the length parameter to the left of the string. If the length parameter is 0 or negative, the original string will be returned |
42 | Long(String str) | [RU] Преобразует строку к значению типа long. В случае, если строка не может быть преобразована к значению типа long без ошибки, будет возвращено значение 0 [EN] Converts a string to a value of long type. If the string cannot be converted to a value of long type without an error, the value 0 will be returned. |
43 | Long(String str, Int64 defaultValue) | [RU] Преобразует строку к значению типа long. В случае, если строка не может быть преобразована к значению типа long без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to a value of long type. If the string cannot be converted to a value of long type without an error, the value specified by the defaultValue parameter will be returned. |
44 | Occurrences(String str, Char searchChar) | [RU] Подсчитывает количество вхождений символа searchChar в исходной строке [EN] Counts the number of occurrences of the character searchChar in the source string |
45 | Occurrences(String str, String searchString) | [RU] Подсчитывает количество вхождений строки searchString в исходной строке. Если строка searchString равна null или её длина равно 0, возвращает 0 [EN] Counts the number of occurrences of the string searchString in the source string. If the string searchString is null or its length is 0, returns 0 |
46 | Prepend(String str, Char prepending) | [RU] Предваряет исходную строку символом, задаваемым параметром prepending [EN] Prepends the source string with the character specified by the prepending parameter |
47 | Prepend(String str, String prepending) | [RU] Предваряет исходную строку другой строкой, задаваемой параметром prepending. Если строка prepending равна null или является пустой, будет возвращена исходная строка [EN] Prepends the source string with another string specified by prepending. If the string prepending is null or empty, the original string will be returned |
48 | Prepend(String str, Char prepending, Int32 count) | [RU] Предваряет исходную строку символом, задаваемым параметром prepending указанное количество раз, заданное параметром count. Если count меньше или равен 0, то будет возвращена исходная строка [EN] Prepends the source string with the character specified by the prepending parameter the specified number of times, specified by the count parameter. If count is less than or equal to 0, then the original string will be returned |
49 | Prepend(String str, String prepending, Int32 count) | [RU] Предваряет исходную строку строкой, задаваемой параметром prepending указанное количество раз, заданное параметром count. Если count меньше или равен 0 или строка prepending пуста или равна null, то будет возвращена исходная строка [EN] Prepends the source string with the string specified by the prepending parameter the specified number of times, specified by the count parameter. If count is less than or equal to 0 or the string prepending is empty or null, then the original string will be returned |
50 | Reduce(String str, Int32 count) | [RU] Сокращает строку слева и справа на заданное параметром count символов. Если параметр count меньше или равен 0, то возвращается исходная строка. Если параметр count больше половины длины исходной строки, будет возвращена пустая строка. [EN] Shortens the string on the left and right by the given count characters. If count is less than or equal to 0, then the original string is returned. If the count parameter is greater than half the length of the original string, an empty string will be returned. |
51 | RemoveLeft(String str, Int32 count) | [RU] Удаляет из левой части исходной строки определённое количество символов, задаваемое параметром count. Если count меньше 0, возвращает исходную строку. Если count равен длине исходной строки или превышает её, возвращает пустую строку [EN] Removes a certain number of characters from the left side of the source string, specified by the count parameter. If count is less than 0, returns the original string. If count is equal to or greater than the length of the original string, returns an empty string |
52 | RemoveRight(String str, Int32 count) | [RU] Удаляет из правой части исходной строки определённое количество символов, задаваемое параметром count. Если count меньше 0, возвращает исходную строку. Если count равен длине исходной строки или превышает её, возвращает пустую строку [EN] Removes a certain number of characters from the right side of the source string, specified by the count parameter. If count is less than 0, returns the original string. If count is equal to or greater than the length of the original string, returns an empty string |
53 | Repeat(String str, Int32 count) | [RU] Повторяет строку заданное количество раз. Если значение параметра count отрицательное, возвращается исходная строка. Если значение параметра count равно 0, возвращается пустая строка [EN] Repeats a string a specified number of times. If the value of the count parameter is negative, the original string is returned. If the value of the count parameter is 0, an empty string is returned |
54 | Repeat(String str, UInt32 count) | [RU] Повторяет строку заданное количество раз. Если значение параметра count равно 0, возвращается пустая строка [EN] Repeats a string a specified number of times. If the value of the count parameter is 0, an empty string is returned |
55 | Right(String str, Int32 length) | [RU] Получает указанное в параметре length количество символов справа от строки. Если параметр length равен 0 или отрицательный, будет возвращена исходная строка [EN] Gets the number of characters specified in the length parameter to the right of the string. If the length parameter is 0 or negative, the original string will be returned |
56 | SByte(String str) | [RU] Преобразует строку к целому числу типа sbyte. В случае, если строка не может быть преобразована к целому числу без ошибки, будет возвращено значение 0 [EN] Converts a string to an integer of type int. In case the string cannot be converted to an integer without an error, the value 0 will be returned. |
57 | SByte(String str, SByte defaultValue) | [RU] Преобразует строку к целому числу типа sbyte. В случае, если строка не может быть преобразована к целому числу без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to an integer of type sbyte. In case the string cannot be converted to an integer without an error, the value specified by the defaultValue parameter will be returned |
58 | Shift(String str, Int32 startIndex, Int32 length, Int32 shiftLength) | [RU] Возвращает новую строку, в которой подстрока, начиная с позиции startIndex и длиной length сдвинута влево или вправо на shiftLength символов. Для сдвига подстроки вправо параметр shiftLength должен быть положительным, для сдвига влево - отрицательным. Если длина сдвига в левую или правую сторону больше, чем оставшееся число символов слева или справа от передвигаемой подстроки, метод вернёт исходную строку [EN] Returns a new string where a substring beginning at position startIndex and having length of length characters is shifted to the left or to the right by shiftLength characters. For shifting a substring to the right the shiftLength parameter must be positive and for shifting to the left it must be negative. If the left or right shift length is greater than the remaining number of characters to the left or right of the substring being moved, the method will return the original string |
59 | ShiftLeft(String str) | [RU] Производит сдвиг символов исходной строки влево на 1 символ, при этом первый символ исходной строки, выходящий за левую границу исходной строки, удаляется из результирующей строки [EN] Shifts the characters of the source string to the left by 1 character, while the first character of the source string that goes beyond the left boundary of the source string is removed from the resulting string |
60 | ShiftLeft(String str, Int32 length) | [RU] Производит сдвиг символов исходной строки влево на заданное количество позиций length, при этом символы выходящие за левую границу исходной строки удаляются из результирующей строки [EN] Shifts the characters of the source string to the left by the specified number of positions length, while the characters that go beyond the left boundary of the source string are removed from the resulting string |
61 | ShiftRight(String str) | [RU] Производит сдвиг символов исходной строки вправо на 1 символ, при этом последний символ исходной строки, выходящий за правую границу исходной строки, удаляется из результирующей строки [EN] Shifts the characters of the source string to the right by 1 character, while the last character of the source string that goes beyond the right boundary of the source string is removed from the resulting string |
62 | ShiftRight(String str, Int32 length) | [RU] Производит сдвиг символов исходной строки вправо на заданное количество позиций length, при этом символы выходящие за правую границу исходной строки удаляются из результирующей строки [EN] Shifts the characters of the source string to the right by the specified number of positions length, while the characters that go beyond the right boundary of the source string are removed from the resulting string |
63 | Short(String str) | [RU] Преобразует строку к значению типа short. В случае, если строка не может быть преобразована к значению типа short без ошибки, будет возвращено значение 0 [EN] Converts a string to a value of short type. If the string cannot be converted to a value of short type without an error, the value 0 will be returned. |
64 | Short(String str, Int16 defaultValue) | [RU] Преобразует строку к значению типа short. В случае, если строка не может быть преобразована к значению типа short без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to a value of short type. If the string cannot be converted to a value of short type without an error, the value specified by the defaultValue parameter will be returned. |
65 | Surround(String str, Char surrounding) | [RU] Обрамляет исходную строку заданным символом surrounding слева и справа [EN] Surrounds the source string with the given character surrounding on the left and right |
66 | Surround(String str, String surrounding) | [RU] Обрамляет исходную строку заданной строкой surrounding слева и справа [EN] Surrounds the source string with the given string surrounding on the left and right |
67 | Surround(String str, Char surroundingChar, Int32 count) | [RU] Обрамляет исходную строку заданным символом surrounding слева и справа указанное в параметре count количество раз [EN] Surrounds the source string with the given character surrounding on the left and right the number of times specified in the count parameter |
68 | Surround(String str, String surrounding, Int32 count) | [RU] Обрамляет исходную строку заданной строкой surrounding слева и справа указанное в параметре count количество раз [EN] Surrounds the source string with the given string surrounding on the left and right the number of times specified in the count parameter |
69 | SurroundedBy(String str, Char surroundingChar) | [RU] Проверяет, что исходная строка слева и справа начинается с символа, задаваемого параметром surroundingChar [EN] Checks that the source string starts from the left and right sides with the character specified by surroundingChar |
70 | SurroundedBy(String str, String surroundingString) | [RU] Проверяет, что исходная строка слева и справа начинается со строки, задаваемой параметром surroundingString [EN] Checks that the source string starts from the left and right sides with the string specified by surroundingString |
71 | ToBoolean(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу Boolean. Если преобразование неуспешно, всегда возвращает false [EN] Attempts to convert the value stored in the string to a Boolean type. If conversion fails, always returns false |
72 | ToBoolean(String str, Boolean defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу Boolean. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to a Boolean type. If conversion fails, always returns the default value given by defaultValue parameter |
73 | ToByte(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу byte. Если преобразование неуспешно, всегда возвращает 0 [EN] Attempts to convert the value stored in the string to byte type. If conversion fails, always returns 0 |
74 | ToByte(String str, Byte defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу byte. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to byte type. If conversion fails, always returns the default value given by defaultValue parameter |
75 | ToDecimal(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу decimal. Если преобразование неуспешно, всегда возвращает 0M. Символы '.' исходной строки заменяются на ',' перед преобразованием к decimal [EN] Attempts to convert the value stored in the string to decimal type. If conversion fails, always returns 0M. Characters '.' of the source string are replaced with ',' before converting to decimal |
76 | ToDecimal(String str, Decimal defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу decimal. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue. Символы '.' исходной строки заменяются на ',' перед преобразованием к decimal [EN] Attempts to convert the value stored in the string to decimal type. If conversion fails, always returns the default value given by defaultValue parameter. Characters '.' of the source string are replaced with ',' before converting to decimal |
77 | ToDouble(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу double. Если преобразование неуспешно, всегда возвращает 0d. Символы '.' исходной строки заменяются на ',' перед преобразованием к double [EN] Attempts to convert the value stored in the string to double type. If conversion fails, always returns 0d. Characters '.' of the source string are replaced with ',' before converting to double |
78 | ToDouble(String str, Double defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу double. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue. Символы '.' исходной строки заменяются на ',' перед преобразованием к double [EN] Attempts to convert the value stored in the string to double type. If conversion fails, always returns the default value given by defaultValue parameter. Characters '.' of the source string are replaced with ',' before converting to double |
79 | ToFloat(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу float. Если преобразование неуспешно, всегда возвращает 0f. Символы '.' исходной строки заменяются на ',' перед преобразованием к float [EN] Attempts to convert the value stored in the string to float type. If conversion fails, always returns 0f. Characters '.' of the source string are replaced with ',' before converting to float |
80 | ToFloat(String str, Single defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу float. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue. Символы '.' исходной строки заменяются на ',' перед преобразованием к float [EN] Attempts to convert the value stored in the string to float type. If conversion fails, always returns the default value given by defaultValue parameter. Characters '.' of the source string are replaced with ',' before converting to float |
81 | ToInt16(String) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу short (Int16). Если преобразование неуспешно, всегда возвращает 0 [EN] Attempts to convert the value stored in the string to a short (Int16) type. If conversion fails, always returns 0 |
82 | ToInt16(String str, Int16 defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу short (Int16). Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to a short (Int16) type. If conversion fails, always returns the default value given by defaultValue parameter |
83 | ToInt32(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу int (Int32). Если преобразование неуспешно, всегда возвращает 0 [EN] Attempts to convert the value stored in the string to a int (Int32) type. If conversion fails, always returns 0 |
84 | ToInt32(String str, Int32 defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу int (Int32). Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to an int (Int32) type. If conversion fails, always returns the default value given by defaultValue parameter |
85 | ToInt64(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу long (Int64). Если преобразование неуспешно, всегда возвращает 0 [EN] Attempts to convert the value stored in the string to a long (Int64) type. If conversion fails, always returns 0 |
86 | ToInt64(String str, Int64 defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу long (Int64). Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to a long (Int64) type. If conversion fails, always returns the default value given by defaultValue parameter |
87 | ToSByte(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу sbyte. Если преобразование неуспешно, всегда возвращает 0 [EN] Attempts to convert the value stored in the string to sbyte type. If conversion fails, always returns 0 |
88 | ToSByte(String str, SByte defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу sbyte. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to sbyte type. If conversion fails, always returns the default value given by defaultValue parameter |
89 | ToUInt(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу uint. Если преобразование неуспешно, всегда возвращает 0u [EN] Attempts to convert the value stored in the string to uint type. If conversion fails, always returns 0u |
90 | ToUInt(String str, UInt32 defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу uint. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to uint type. If conversion fails, always returns the default value given by defaultValue parameter |
91 | ToULong(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу ulong. Если преобразование неуспешно, всегда возвращает 0ul [EN] Attempts to convert the value stored in the string to ulong type. If conversion fails, always returns 0ul |
92 | ToULong(String str, UInt64 defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу ulong. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to ulong type. If conversion fails, always returns the default value given by defaultValue parameter |
93 | ToUShort(String str) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу ushort. Если преобразование неуспешно, всегда возвращает 0 [EN] Attempts to convert the value stored in the string to ushort type. If conversion fails, always returns 0 |
94 | ToUShort(String str, UInt16 defaultValue) | [RU] Производит попытку преобразовать значение, хранящееся в строке, к типу ushort. Если преобразование неуспешно, всегда возвращает значение по умолчанию, задаваемое параметром defaultValue [EN] Attempts to convert the value stored in the string to ushort type. If conversion fails, always returns the default value given by defaultValue parameter |
95 | UInt(String str) | RU] Преобразует строку к целому беззнаковому числу типа uint. В случае, если строка не может быть преобразована к целому беззнаковому числу без ошибки, будет возвращено значение 0u [EN] Converts a string to an unsigned integer of type uint. In case the string cannot be converted to an unsigned integer without an error, the value 0u will be returned. |
96 | UInt(String str, UInt32 defaultValue) | [RU] Преобразует строку к целому беззнаковому числу типа uint. В случае, если строка не может быть преобразована к целому беззнаковому числу без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to an unsigned integer of type uint. In case the string cannot be converted to an unsigned integer without an error, the value specified by the defaultValue parameter will be returned |
97 | ULong(String str) | [RU] Преобразует строку к целому беззнаковому числу типа ulong. В случае, если строка не может быть преобразована к целому беззнаковому числу без ошибки, будет возвращено значение 0ul [EN] Converts a string to an unsigned integer of type ulong. In case the string cannot be converted to an unsigned integer without an error, the value 0ul will be returned. |
98 | ULong(String str, UInt64 defaultValue) | [RU] Преобразует строку к целому беззнаковому числу типа ulong. В случае, если строка не может быть преобразована к целому беззнаковому числу без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to an unsigned integer of type ulong. In case the string cannot be converted to an unsigned integer without an error, the value specified by the defaultValue parameter will be returned |
99 | UShort(String str) | [RU] Преобразует строку к целому беззнаковому числу типа ushort. В случае, если строка не может быть преобразована к целому беззнаковому числу без ошибки, будет возвращено значение 0 [EN] Converts a string to an unsigned integer of type ushort. In case the string cannot be converted to an unsigned integer without an error, the value 0 will be returned. |
100 | UShort(String str, UInt16 defaultValue) | [RU] Преобразует строку к целому беззнаковому числу типа ushort. В случае, если строка не может быть преобразована к целому беззнаковому числу без ошибки, будет возвращено значение, задаваемое параметром defaultValue [EN] Converts a string to an unsigned integer of type ushort. In case the string cannot be converted to an unsigned integer without an error, the value specified by the defaultValue parameter will be returned |
Аналог этой таблицы, но более подробный, с детальным описанием каждого метода, его входными параметрами, возвращаемым значением и примерами использования в коде вы найдете в поставляемой документации на библиотеку.
Ниже мы приведём типовые сценарии работы с новыми extension-методами и их перегруженными вариантами, а также покажем примеры кода для языков C# и Visual Basic .NET.
В конце статьи вы найдете ссылки для скачивания на примеры двух проектов для C# и Visual Basic .NET.
Где скачать новую версию AINStringUtils 2?
Свежая версия библиотеки доступна в нашем каталоге продуктов
Где скачать документацию на новую версию AINStringUtils 2?
Документация на AINStringUtils 2 доступна по ссылке в нашем каталоге продуктов.
Как подключить библиотеку AINStringUtils 2 к проекту в среде разработки Microsoft Visual Studio?
Описание того, как подключить библиотеку к проекту в среде Microsoft Visual Studio, можно найти в нашей статье, посвящённой первому релизу.
Примените инструкции из этой статьи и вам станут доступны все методы библиотеки AINStringUtils 2.
Дополнительно мы поставляем вместе с DLL-библиотекой XML-файл документации на все методы, который называется AINStringUtils.xml. Поместите его рядом (в одной директории) с файлом AINStringUtils.dll вашего проекта:
Тогда в среде Microsoft Visual Studio вам станут доступны подсказки для каждого из методов библиотеки AINStringUtils с описанием его работы, возвращаемым значением и заметками о версии AINStringUtils, в которой был добавлен метод:
Пример подсказок для проекта на языке C#
Пример подсказок для проекта на языке Visual Basic .NET
Есть ли в новой версии какие-то изменения, коснувшиеся методов из прошлой версии AINStringUtils 1.0.0.0?
Да, есть. Мы пометили метод IsStringNullOrEmpty как устаревший (это также отмечено в документации для новой версии AINStringUtils 2.0.0.0).
Причина этому простая: он является статическим и будет более правильным обращаться к стандартным методам платформы .NET, доступным для класса string в C# и класса String в Visual Basic .NET.
Например, чтобы проверить, что строка str равна null или является пустой (или наоборот - не равна null и не является пустой), мы рекомендуем пользоваться методом из класса string в C# (и, соответственно, из класса String в Visual Basic .NET):
C#
string str = "...";
if (string.IsNullOrEmpty(str)) {
// ... выполнить код, если строка равна null или является пустой
}
if (!string.IsNullOrEmpty(str)) {
// ... код, если строка не равна null и не является пустой
}
Visual Basic .NET
Dim str As String = "..."
If String.IsNullOrEmpty(Str) Then
' ... выполнить код, если строка равна null или является пустой ...
End If
If Not String.IsNullOrEmpty(str) Then
' ... выполнить код, если строка не равна null и не является пустой ...
End If
Если вы уже написали код, который работает с использованием устаревшего метода IsStringNullOrEmpty, то он продолжит работать как и раньше. Однако в следующих версиях библиотеки AINStringUtils мы планируем удалить метод IsStringNullOrEmpty.
Мы также немного оптимизировали внутренний код методов GetConsonantsCount, GetVowelsCount, однако они продолжат работать так же, как и ранее. Никаких изменений для этого не потребуется.
Обзор новых методов
Ниже приводится краткий обзор и примеры работы с новыми методами.
Метод AfterEach
Позволяет удобно вставить строку-разделитель между символами исходной строки. Если ему передаётся единственный строковый аргумент для параметра separator, то метод добавляет после каждого символа исходной строки заданную строку-разделитель separator:
C#
string s1 = "".AfterEach(","); // [RU] вернёт ""; [EN] will return ""
string s2 = "abcd".AfterEach(","); // [RU] вернёт "a,b,c,d,"; [EN] will return "a,b,c,d,"
string s3 = "12345".AfterEach(","); // [RU] вернёт "1,2,3,4,5,"; [EN] will return "1,2,3,4,5,"
string s4 = "12345".AfterEach(null); // [RU] вернёт "12345"; [EN] will return "12345"
Visual Basic .NET
Dim s1 As String = "".AfterEach(",") ' [RU] вернёт ""; [EN] will return ""
Dim s2 As String = "abcd".AfterEach(",") ' [RU] вернёт "a,b,c,d,"; [EN] will return "a,b,c,d,"
Dim s3 As String = "12345".AfterEach(",") ' [RU] вернёт "1,2,3,4,5,"; [EN] will return "1,2,3,4,5,"
Dim s4 As String = "12345".AfterEach(Nothing) ' [RU] вернёт "12345"; [EN] will return "12345"
Как видим, в конце последнего символа исходной строки также присутствует символ-разделитель. Если нам это не требуется, то достаточно передать для второго параметра excludeLast значение true:
C#
string s1 = "".AfterEach(",", true); // [RU] вернёт ""; [EN] will return ""
string s2 = "abcd".AfterEach(",", true); // [RU] вернёт "a,b,c,d"; [EN] will return "a,b,c,d"
string s3 = "12345".AfterEach(",", true); // [RU] вернёт "1,2,3,4,5"; [EN] will return "1,2,3,4,5"
Visual Basic .NET
Dim s1 As String = "".AfterEach(",", True) ' [RU] вернёт ""; [EN] will Return ""
Dim s2 As String = "abcd".AfterEach(",", True) ' [RU] вернёт "a,b,c,d"; [EN] will Return "a,b,c,d"
Dim s3 As String = "12345".AfterEach(",", True) ' [RU] вернёт "1,2,3,4,5"; [EN] will Return "1,2,3,4,5"
Если вторым аргументом для метода передать целое число (параметр length), то оно укажет, после скольких очередных символов добавлять строку-разделитель separator:
C#
string s1 = "".AfterEach(",", 2); // [RU] вернёт ""; [EN] will return ""
string s2 = "abcd".AfterEach(",", 2); // [RU] вернёт "ab,cd,"; [EN] will return "ab,cd,"
string s3 = "12345".AfterEach(",", 2); // [RU] вернёт "12,34,5"; [EN] will return "12,34,5"
string s4 = "12345".AfterEach(",", 5); // [RU] вернёт "12345,"; [EN] will return "12345,"
Visual Basic .NET
Dim s1 As String = "".AfterEach(",", 2) ' [RU] вернёт ""; [EN] will return ""
Dim s2 As String = "abcd".AfterEach(",", 2) ' [RU] вернёт "ab,cd,"; [EN] will return "ab,cd,"
Dim s3 As String = "12345".AfterEach(",", 2) ' [RU] вернёт "12,34,5"; [EN] will return "12,34,5"
Dim s4 As String = "12345".AfterEach(",", 5) ' [RU] вернёт "12345,"; [EN] will return "12345,"
Четвёртый вариант вызова метода - это передать строку-разделитель, целое число (с указанием после скольких очередных символов добавлять строку-разделитель separator), а также значение для параметра excludeLast. Если excludeLast равен true, то строка-разделитель в конец не добавляется:
C#
string s1 = "".AfterEach(",", 2, true); // [RU] вернёт ""; [EN] will return ""
string s2 = "abcd".AfterEach(",", 2, true); // [RU] вернёт "ab,cd"; [EN] will return "ab,cd"
string s3 = "12345".AfterEach(",", 2, true); // [RU] вернёт "12,34,5"; [EN] will return "12,34,5"
string s4 = "123456".AfterEach(",", 2, true); // [RU] вернёт "12,34,56"; [EN] will return "12,34,56"
Visual Basic .NET
Dim s1 As String = "".AfterEach(",", 2, True) ' [RU] вернёт ""; [EN] will return ""
Dim s2 As String = "abcd".AfterEach(",", 2, True) ' [RU] вернёт "ab,cd"; [EN] will return "ab,cd"
Dim s3 As String = "12345".AfterEach(",", 2, True) ' [RU] вернёт "12,34,5"; [EN] will return "12,34,5"
Dim s4 As String = "123456".AfterEach(",", 2, True) ' [RU] вернёт "12,34,56"; [EN] will return "12,34,56"
Методы Append и Prepend
Позволяют быстро добавить к концу (метод Append) или к началу (метод Prepend) исходной строки другую строку или символ, причём можно указать, сколько раз их необходимо продублировать при добавлении.
Добавляем символ к концу исходной строки:
C# ( Append )
string s1 = "abc".Append('d'); // [RU] вернёт "abcd"; [EN] will return "abcd"
string s2 = "123".Append('4'); // [RU] вернёт "1234"; [EN] will return "1234"
string s3 = "!@".Append('#'); // [RU] вернёт "!@#"; [EN] will return "!@#"
Добавляем строку к концу исходной строки:
C# ( Append )
string s1 = "hello".Append(" world"); // [RU] вернёт "hello world"; [EN] will return "hello world"
string s2 = "12345".Append("678910"); // [RU] вернёт "12345678910"; [EN] will return "12345678910"
string s3 = "abc".Append("def"); // [RU] вернёт "abcdef"; [EN] will return "abcdef"
string s4 = "abc".Append(""); // [RU] вернёт "abc"; [EN] will return "abc"
string s5 = "abc".Append(null); // [RU] вернёт "abc"; [EN] will return "abc"
Добавляем символ заданное количество раз к концу исходной строки:
C# ( Append )
string s1 = "abc".Append('d', 3); // [RU] вернёт "abcddd"; [EN] will return "abcddd"
string s2 = "123".Append('4', 2); // [RU] вернёт "12344"; [EN] will return "12344"
string s3 = "!@".Append('#', 0); // [RU] вернёт "!@"; [EN] will return "!@"
string s4 = "!@".Append('#', -1); // [RU] вернёт "!@"; [EN] will return "!@"
Добавляем строку заданное количество раз к концу исходной строки:
C# ( Append )
string s1 = "abcd".Append("e", 5); // [RU] вернёт "abcdeeeee"; [EN] will return "abcdeeeee"
string s2 = "this is amazing".Append("!", 3); // [RU] вернёт "this is amazing!!!"; [EN] will return "this is amazing!!!"
string s3 = "".Append("7", 3); // [RU] вернёт "777"; [EN] will return "777"
string s4 = "777".Append("", 0); // [RU] вернёт "777"; [EN] will return "777"
string s5 = "abc".Append(null, 10); // [RU] вернёт "abc"; [EN] will return "abc"
string s6 = "777".Append("8", -10); // [RU] вернёт "777"; [EN] will return "777"
Добавляем символ к началу исходной строки:
C# ( Prepend )
string s1 = "est".Prepend('t'); // [RU] вернёт "test"; [EN] will return "test"
string s2 = "b".Prepend('a'); // [RU] вернёт "ab"; [EN] will return "ab"
string s3 = "".Prepend('a'); // [RU] вернёт "a"; [EN] will return "a"
Добавляем строку к началу исходной строки:
C# ( Prepend )
string s1 = "st".Prepend("te"); // [RU] вернёт "test"; [EN] will return "test"
string s2 = "nothing changed".Prepend(""); // [RU] вернёт "nothing changed"; [EN] will return "nothing changed"
string s3 = "nothing changed".Prepend(null); // [RU] вернёт "nothing changed"; [EN] will return "nothing changed"
string s4 = "test".Prepend("it's a "); // [RU] вернёт "it's a test"; [EN] will return "it's a test"
string s5 = "456".Prepend("123"); // [RU] вернёт "123456"; [EN] will return "123456"
string s6 = "".Prepend("abc"); // [RU] вернёт "abc"; [EN] will return "abc"
Добавляем символ заданное количество раз к началу исходной строки:
C# ( Prepend )
string s1 = "est".Prepend('t', 1); // [RU] вернёт "test"; [EN] will return "test"
string s2 = "est".Prepend('t', 3); // [RU] вернёт "tttest"; [EN] will return "tttest"
string s3 = "est".Prepend('t', 0); // [RU] вернёт "est"; [EN] will return "est"
string s3 = "est".Prepend('t', -10); // [RU] вернёт "est"; [EN] will return "est"
Добавляем строку заданное количество раз к началу исходной строки:
C# ( Prepend )
tring s1 = "test".Prepend("prefix_", 2); // [RU] вернёт "prefix_prefix_test"; [EN] will return "prefix_prefix_test"
string s2 = "cd".Prepend("ab", 5); // [RU] вернёт "abababababcd"; [EN] will return "abababababcd"
string s3 = "cd".Prepend("ab", 0); // [RU] вернёт "cd"; [EN] will return "cd"
string s4 = "cd".Prepend("ab", -4); // [RU] вернёт "cd"; [EN] will return "cd"
string s5 = "cd".Prepend(null, 4); // [RU] вернёт "cd"; [EN] will return "cd"
string s6 = "cd".Prepend(null, -5); // [RU] вернёт "cd"; [EN] will return "cd"
Метод AsSeparator
Позволит из текущей строки сделать разделитель для массива строк, символов или каких-либо значений (например, значений типов int, float и т.д.). В общем случае - для массива объектов любого типа, т.к. метод является универсальным (generic).
Обратите внимание, что если метод применить к пустой строке, то он фактически просто "склеивает" входные значения массива, не добавляя какого-либо разделителя между элементами массива:
C#
string s1 = ",".AsSeparator(new char[] { 'a', 'b', 'c', 'd' }); // [RU] вернёт "a,b,c,d"; [EN] will return "a,b,c,d"
string s2 = ",".AsSeparator(new char[] { 'a' }); // [RU] вернёт "a"; [EN] will return "a"
string s3 = ", ".AsSeparator(new char[] { 'a', 'b' }); // [RU] вернёт "a, b"; [EN] will return "a, b"
string s4 = ",".AsSeparator(new int[] { 1, 2, 3, 4, 5 }); // [RU] вернёт "1,2,3,4,5"; [EN] will return "1,2,3,4,5"
string s5 = ";".AsSeparator(new int[] { 1, 2, 3, 4 }); // [RU] вернёт "1;2;3;4"; [EN] will return "1;2;3;4"
string s6 = ",".AsSeparator(new string[] { "a", "b", "c", "d" }); // [RU] вернёт "a,b,c,d"; [EN] will return "a,b,c,d"
string s7 = "".AsSeparator(new string[] { "1", "2", "3", "4" }); // [RU] вернёт "1234"; [EN] will return "1234"
string s8 = ";".AsSeparator((string[])null); // [RU] вернёт ""; [EN] will return ""
string s9 = ";".AsSeparator(new float[] { 1.1f, 2.2f, 3.3f, 4.4f, 5.5f }); // [RU] вернёт "1,1;2,2;3,3;4,4;5,5"; [EN] will return "1,1;2,2;3,3;4,4;5,5"
string s10 = ", ".AsSeparator(new float[] { 1.0f, 2.0f }); // [RU] вернёт "1, 2"; [EN] will return "1, 2"
Второй вариант вызова метода - это возможность передать ему коллекцию объектов:
C#
string s1 = ",".AsSeparator(new List<string>() { "a", "b", "c", "d" }); // [RU] вернёт "a,b,c,d"; [EN] will return "a,b,c,d"
string s2 = ",".AsSeparator(new List<string>() { "a" }); // [RU] вернёт "a"; [EN] will return "a"
string s3 = "!".AsSeparator(new List<string>() { "1", "2", null, "4" }); // [RU] вернёт "1!2!4"; [EN] will return "1!2!4"
string s4 = ";".AsSeparator((new List<string>)null); // [RU] вернёт ""; [EN] will return ""
string s5 = ",".AsSeparator(new HashSet<string>() { "a", "b", "a", "c", "d" }); // [RU] вернёт "a,b,c,d", вторая "a" не попала в результат, т.к. используется множество HashSet, а не список List; [EN] will return "a,b,c,d", the second "a" was not included in the result, because using a HashSet, not a List
string s6 = ",".AsSeparator(new List<char>() { 'a', 'b', 'c', 'd' }); // [RU] вернёт "a,b,c,d"; [EN] will return "a,b,c,d"
string s7 = ";".AsSeparator(new List<char>() { '1', '2', '3', '4' }); // [RU] вернёт "1;2;3;4"; [EN] will return "1;2;3;4"
string s8 = "#".AsSeparator(new HashSet<char>() { '1', '1', '1', '2', '2', '3' }); // [RU] вернёт "1#2#3"; [EN] will return "1#2#3"
Методы Bool, Byte, Decimal, Double, Float, Int, Long, SByte, Short, UInt, ULong, UShort
Позволяют привести значение, содержащееся в строке, к соответствующему типу данных:
- Bool - позволит быстро преобразовать строку в значение типа bool
- Byte - позволит быстро преобразовать строку в значение типа byte
- Decimal - позволит быстро преобразовать строку в значение типа decimal
- Double - позволит быстро преобразовать строку в значение типа double
- Float - позволит быстро преобразовать строку в значение типа float
- Int - позволит быстро преобразовать строку в значение типа int
- Long - позволит быстро преобразовать строку в значение типа long
- SByte - позволит быстро преобразовать строку в значение типа sbyte
- Short - позволит быстро преобразовать строку в значение типа short
- UInt - позволит быстро преобразовать строку в значение типа uint
- ULong - позволит быстро преобразовать строку в значение типа ulong
- UShort - позволит быстро преобразовать строку в значение типа ushort
Bool
Если методу не передать никаких аргументов, он попробует преобразовать строковое значение к типу bool (Boolean) и вернёт true, если не было ошибок и преобразование успешно и строка хранит true, и false в противном случае - если были ошибки при приведении строки к типу bool (Boolean) или строка хранит false. Обратите внимание, что строка "1" преобразуется также в false:
C#
bool b1 = "true".Bool(); // [RU] вернёт true; [EN] will return true
bool b2 = "TRUE".Bool(); // [RU] вернёт true; [EN] will return true
bool b3 = "True".Bool(); // [RU] вернёт true; [EN] will return true
bool b4 = "TruE".Bool(); // [RU] вернёт true; [EN] will return true
bool b5 = " true ".Bool(); // [RU] вернёт true; [EN] will return true
bool b6 = "True ".Bool(); // [RU] вернёт true; [EN] will return true
bool b7 = "yes".Bool(); // [RU] вернёт false; [EN] will return false
bool b8 = "1".Bool(); // [RU] вернёт false; [EN] will return false
bool b9 = "123".Bool(); // [RU] вернёт false; [EN] will return false
bool b10 = "abc".Bool(); // [RU] вернёт false; [EN] will return false
bool b11 = "abc #@!".Bool(); // [RU] вернёт false; [EN] will return false
bool b12 = "false".Bool(); // [RU] вернёт false; [EN] will return false
bool b13 = "False".Bool(); // [RU] вернёт false; [EN] will return false
Второй вариант вызова - явно в аргументе указать, что именно вернуть, если случилась ошибка при попытке преобразования строки к bool (Boolean) типу. В этом примере для строк "yes" и "1" происходит ошибка преобразования, но в аргументе явно задано значение true, поэтому метод вернёт true:
C#
bool b1 = "true".Bool(false); // [RU] вернёт true; [EN] will return true
bool b2 = "yes".Bool(true); // [RU] вернёт true; [EN] will return true
bool b3 = "1".Bool(true); // [RU] вернёт true; [EN] will return true
bool b4 = "123".Bool(false); // [RU] вернёт false; [EN] will return false
bool b5 = "abc".Bool(false); // [RU] вернёт false; [EN] will return false
bool b6 = "abc #@!".Bool(false); // [RU] вернёт false; [EN] will return false
Decimal
Если методу не передать никаких аргументов, он попробует преобразовать строковое значение к типу decimal и вернёт значение типа decimal, если не было ошибок и преобразование успешно и строка хранит допустимое число типа decimal. В противном случае метод вернёт 0M, - если были ошибки при приведении строки к типу decimal или строка уже хранит 0M:
C#
decimal dec1 = "1,456".Decimal(); // [RU] вернёт 1.456M; [EN] will return 1.456M
decimal dec2 = "1.456".Decimal(); // [RU] вернёт 1.456M; [EN] will return 1.456M
decimal dec3 = "something 1,456".Decimal(); // [RU] вернёт 0M; [EN] will return 0M
Второй вариант вызова - явно в аргументе указать, что именно вернуть, если случилась ошибка при попытке преобразования строки к decimal типу:
C#
decimal dec1 = "1,456".Decimal(-1.1M); // [RU] вернёт 1.456M; [EN] will return 1.456M
decimal dec2 = "1.456".Decimal(-1.1M); // [RU] вернёт 1.456M; [EN] will return 1.456M
decimal dec3 = "something 1,456".Decimal(-1.1M); // [RU] вернёт -1.1M; [EN] will return -1.1M
decimal dec4 = "something 1,456".Decimal(0M); // [RU] вернёт 0M, эквивалентно вызову "something 1,456".Decimal(); [EN] will return 0M, is equivalent to calling "something 1,456"
Аналогичным образом работают и все другие методы преобразования: они также поддерживают вариант вызова без параметров или с параметром, указывающим, какое значение вернуть в случае, если произошла ошибка приведения строки к соответствующему типу. Более подробную информацию с примерами по этим методам вы сможете найти в документации на библиотеку AINStringUtils 2.
Метод Capitalize
Позволит найти все слова в строке и преобразовать их первую букву в заглавную:
C#
string capitalized1 = "one two three".Capitalize(); // [RU] вернёт "One Two Three"; [EN] returns "One Two Three"
string capitalized2 = "It's a good day to say hello!".Capitalize(); // [RU] вернёт "It's A Good Day To Say Hello!"; [EN] returns "It's A Good Day To Say Hello!"
string capitalized3 = "раз два три".Capitalize(); // [RU] вернёт "Раз Два Три"; [EN] returns "Раз Два Три"
string capitalized4 = " этот текст начинается с пробела ".Capitalize(); // [RU] вернёт " Этот Текст Начинается С Пробела "; [EN] returns " Этот Текст Начинается С Пробела "
Метод ContainsAll
Поможет, когда нужно определить, что исходная строка включает все заданные подстроки из заданной коллекции, передаваемой методу в аргументе вызова. Если хотя бы одна подстрока из коллекции не найдена в исходной строке, метод вернёт false:
C#
bool b1 = "one".ContainsAll(new List<string>() { "one" }); // [RU] вернёт true; [EN] will return true
bool b2 = "one,two".ContainsAll(new List<string>() { "two", "one" }); // [RU] вернёт true; [EN] will return true
bool b3 = "a,bc d".ContainsAll(new List<string>() { "a", "b", "c", "d" }); // [RU] вернёт true; [EN] will return true
bool b4 = "a,bc d".ContainsAll(new List<string>() { "a", "b", "c", "d", "f", "g" }); // [RU] вернёт false; [EN] will return false
bool b5 = " ".ContainsAll(new List<string>() { "a", "b" }); // [RU] вернёт false; [EN] will return false
bool b6 = "ab".ContainsAll((List<string>)null); // [RU] вернёт false; [EN] will return false
Также подстроки можно передавать в качестве массива строк:
C#
bool b1 = "one two three".ContainsAll(new string[] { "one", "two" }); // [RU] вернёт true; [EN] will return true
bool b2 = "234 one two three".ContainsAll(new string[] { "one", "two", "234" }); // [RU] вернёт true; [EN] will return true
bool b3 = "ab".ContainsAll(new string[] { "a", "b" }); // [RU] вернёт true; [EN] will return true
bool b4 = "ba".ContainsAll(new string[] { "a", "b" }); // [RU] вернёт true; [EN] will return true
bool b5 = "234 one two three".ContainsAll(new string[] { "one", "two", "four" }); // [RU] вернёт false; [EN] will return false
bool b6 = " ".ContainsAll(new string[] { "1", "2", "3" }); // [RU] вернёт false; [EN] will return false
bool b7 = "ab".ContainsAll(new string[] { "a", "b", "c" }); // [RU] вернёт false; [EN] will return false
И ещё одна удобная форма вызова метода, где подстроки просто перечисляются в качестве аргументов вызова:
C#
bool b1 = "one two three".ContainsAll("one"); // [RU] вернёт true; [EN] will return true
bool b2 = "one two three".ContainsAll("one", "three"); // [RU] вернёт true; [EN] will return true
bool b3 = "one two three".ContainsAll("one", "three", "two"); // [RU] вернёт true; [EN] will return true
bool b4 = "one_two,three".ContainsAll("one", "three", "two"); // [RU] вернёт true; [EN] will return true
bool b5 = "one two three".ContainsAll("one", "three", "two", "four"); // [RU] вернёт false; [EN] will return false
bool b6 = "one_two,three".ContainsAll("one", "three", "two!"); // [RU] вернёт false; [EN] will return false
bool b7 = "one_two,three".ContainsAll(null, "abc"); // [RU] вернёт false; [EN] will return false
bool b8 = "one_two,three".ContainsAll(null, null, null); // [RU] вернёт false; [EN] will return false
Метод ContainsAny
В отличие от метода ContainsAll, этот метод проверит вхождение в исходную строку хотя бы одной подстроки из указанной коллекции:
C#
bool b1 = "one".ContainsAny(new List<string>() { "one" }); // [RU] вернёт true; [EN] will return true
bool b2 = "1,2,3".ContainsAny(new List<string>() { "2", "5", "7" }); // [RU] вернёт true; [EN] will return true
bool b3 = "one".ContainsAny(new List<string>() { "two" }); // [RU] вернёт false; [EN] will return false
bool b4 = "".ContainsAny(new List<string>() { "a", "b" }); // [RU] вернёт false; [EN] will return false
bool b5 = "a,b,c".ContainsAny((List<string>)null); // [RU] вернёт false; [EN] will return false
bool b6 = ".,!?#()".ContainsAny(new List<string>() { ";", "/" }); // [RU] вернёт false; [EN] will return false
Его также можно использовать с входным массивом строк:
C#
bool b1 = "one".ContainsAny(new string[] { "one", "two" }); // [RU] вернёт true; [EN] will return true
bool b2 = "three_two".ContainsAny(new string[] { "one", "two" }); // [RU] вернёт true; [EN] will return true
bool b3 = "b".ContainsAny(new string[] { "a", "b", "c" }); // [RU] вернёт true; [EN] will return true
bool b4 = "1 2 34 567".ContainsAny(new string[] { "34", "32", "15" }); // [RU] вернёт true; [EN] will return true
bool b5 = "three".ContainsAny(new string[] { "one", "two" }); // [RU] вернёт false; [EN] will return false
bool b6 = " ".ContainsAny(new string[] { "1", "2", "3" }); // [RU] вернёт false; [EN] will return false
bool b7 = "ab".ContainsAny(new string[] { "c", "d", "ef" }); // [RU] вернёт false; [EN] will return false
И третий вариант вызова, где подстроки просто перечисляются в качестве аргументов вызова:
C#
bool b1 = "one".ContainsAny("one", "two", "three", "four"); // [RU] вернёт true; [EN] will return true
bool b2 = "1,23,456".ContainsAny("5", "67", "17", "456"); // [RU] вернёт true; [EN] will return true
bool b3 = "a_b_c_def".ContainsAny("_b_", "_cd_", "_def_"); // [RU] вернёт true; [EN] will return true
bool b4 = "a,b,c,d".ContainsAny("b"); // [RU] вернёт true; [EN] will return true
bool b5 = "1,23,456,78910".ContainsAny("12", "34", "567"); // [RU] вернёт false; [EN] will return false
bool b6 = ",.!#?".ContainsAny(";", ":", "-", "+"); // [RU] вернёт false; [EN] will return false
bool b7 = "a_bc_def_ghij".ContainsAny(null, "1", "?"); // [RU] вернёт false; [EN] will return false
bool b8 = " ".ContainsAny("a", "b", "c", null); // [RU] вернёт false; [EN] will return false
bool b9 = "a,b,c,d".ContainsAny((string)null); // [RU] вернёт false; [EN] will return false
Метод Cut
Если вызвать метод без аргументов, он разобьёт исходную строку на массив строк, представляющие собой символы исходной строки:
C#
string[] chars1 = "abcdef".Cut(); // [RU] вернёт массив строк { "a", "b", "c", "d", "e", "f" }; [EN] will return an array of strings { "a", "b", "c", "d", "e", "f" }
string[] chars2 = "".Cut(); // [RU] вернёт пустой массив строк, длина которого равна 0; [EN] will return an empty array of strings with a length of 0
Но в метод можно также передать целочисленное значение, которое задаст длину подстрок, на которые необходимо "порезать" исходную строку. Обратите внимание, что последний элемент "ld" выходного массива в примере ниже имеет длину 2, меньшую, чем аргумент 3, это допустимо для последнего элемента - он может иметь длину меньшую или равную значению 3:
C#
// [RU] вернёт массив подстрок длиной в 3 символа (длина последней подстроки "ld" составляет 2 символа): "hel", "lo,", " my", " de", "ar ", "wor", "ld"
// [EN] will return an array of substrings with a length of 3 characters (the length of the last substring "ld" is 2 characters): "hel", "lo,", " my", " de", "ar ", "wor", "ld"
string[] arr = "hello, my dear world".Cut(3);
Метод Excludes
Если требуется определить, что исходная строка не содержит заданную подстроку, то можно использовать метод Excludes. Метод принимает на вход искомую подстроку и вернёт true, если она не содержится в исходной строке. Если в метод передать значение null, то он вернёт значение true. Если в метод передать пустую строку, он вернёт значение false:
C#
bool b1 = "abcd".Excludes(null); // [RU] вернёт true; [EN] will return true
bool b2 = "abcd".Excludes("f"); // [RU] вернёт true; [EN] will return true
bool b3 = "one;two;three".Excludes("four"); // [RU] вернёт true; [EN] will return true
bool b4 = "1;2;3;4;5".Excludes("1;4"); // [RU] вернёт true; [EN] will return true
bool b5 = "abcd".Excludes("abcde"); // [RU] вернёт true; [EN] will return true
bool b6 = "1;2;3;4;5".Excludes(""); // [RU] вернёт false; [EN] will return false
bool b7 = "abcd".Excludes("a"); // [RU] вернёт false; [EN] will return false
bool b8 = "abcd".Excludes("bc"); // [RU] вернёт false; [EN] will return false
bool b9 = "abcd".Excludes("abcd"); // [RU] вернёт false; [EN] will return false
Метод GetWords и его вариации
Метод GetWords позволяет получить из исходной строки массив слов. Если используется вариант вызова без аргументов, то за разделители между словами считаются следующие символы и escape-последовательности: пробел, \r, \n, \t, \f, \v, \x85
List<string> words1 = " ab cde fg \n 123".GetWords(); // [RU] вернёт список, состояющий из 4 строк: "ab", "cde", "fg", "123"; [EN] will return a list consisting of 4 strings: "ab", "cde", "fg", "123"
List<string> words2 = "Hello, I'm a string".GetWords(); // [RU] вернёт список, состояющий из 4 строк: "Hello,", "I'm", "a", "string"; [EN] will return a list consisting of 4 strings: "Hello,", "I'm", "a", "string"
Второй вариант вызова метода - передать ему явно массив символов, которые следует принимать за разделители между словами:
List<string> words1 = "ab,c def;g hi!jk".GetWords(new char[] { ' ', ',', ';', '!' }); // [RU] вернёт список, состояющий из 6 строк: "ab", "c", "def", "g", "hi", "jk"; [EN] will return a list consisting of 6 strings: "ab", "c", "def", "g", "hi", "jk"
List<string> words2 = "ab,c def;g hi!jk".GetWords(new char[] { ' ' }); // [RU] вернёт список, состояющий из 3 строк: "ab,c", "def;g", "hi!jk"; [EN] will return a list consisting of 3 strings: "ab,c", "def;g", "hi!jk"
Третий вариант вызова, который похож на предыдущий, - передать коллекцию символов, которые следует принимать за разделители между словами:
List<string> words1 = "ab,c def;g hi!jk".GetWords(new List<char>() { ' ', ',', ';', '!' }); // [RU] вернёт список, состояющий из 6 строк: "ab", "c", "def", "g", "hi", "jk"; [EN] will return a list consisting of 6 strings: "ab", "c", "def", "g", "hi", "jk"
List<string> words2 = "ab,c def;g hi!jk".GetWords(new List<char>() { ' ' }); // [RU] вернёт список, состояющий из 3 строк: "ab,c", "def;g", "hi!jk"; [EN] will return a list consisting of 3 strings: "ab,c", "def;g", "hi!jk"
Методы IfEmpty и IfEmptyOrBlank
Позволят вернуть заданную строку в том случае, если строка - пустая (метод IfEmpty) или же пустая, либо содержит только whitespace-символы (метод IfEmptyOrBlank). Если же исходная строка непустая, то метод IfEmpty вернёт саму исходную строку. В случае же метода IfEmptyOrBlank он вернёт саму исходную строку в том случае, если исходная строка и непустая, и не состоит лишь из whitespace-символов. Ниже приведены примеры использования и возвращаемые значения.
C# ( IfEmpty )
string str1 = "not empty".IfEmpty("some default value"); // [RU] вернёт "not empty"; [EN] will return "not empty"
string str2 = "".IfEmpty("some default value"); // [RU] вернёт "some default value"; [EN] will return "some default value"
string str3 = " ".IfEmpty("some default value"); // [RU] вернёт " "; [EN] will return " "
C# ( IfEmptyOrBlank )
string str1 = "not empty".IfEmptyOrBlank("some default value"); // [RU] вернёт "not empty"; [EN] will return "not empty"
string str2 = "".IfEmptyOrBlank("some default value"); // [RU] вернёт "some default value"; [EN] will return "some default value"
string str3 = " ".IfEmptyOrBlank("some default value"); // [RU] вернёт "some default value"; [EN] will return "some default value"
string str4 = "\r\n".IfEmptyOrBlank("some default value"); // [RU] вернёт "some default value"; [EN] will return "some default value"
string str5 = "\r".IfEmptyOrBlank("some default value"); // [RU] вернёт "some default value"; [EN] will return "some default value"
string str6 = "\t".IfEmptyOrBlank("some default value"); // [RU] вернёт "some default value"; [EN] will return "some default value"
string str7 = "\n".IfEmptyOrBlank("some default value"); // [RU] вернёт "some default value"; [EN] will return "some default value"
Методы IsAllUpper и IsAllLower
Помогут проверить, что все буквенные символы (учитываются латинские и кириллические символы) находятся в верхнем регистре (метод IsAllUpper) или в нижнем регистре (метод IsAllLower). Важно учесть, что все небуквенные символы (цифры, спецсимволы и т. д.) не попадают в проверку и не учитываются при сверке регистра.
Ниже примеры использования методов:
C# ( IsAllUpper )
bool b1 = "ABCDEF ZZDF 123".IsAllUpper(); // [RU] вернёт true; [EN] will return true
bool b2 = "ABC DEFGJ ~!@ ZZDF 123".IsAllUpper(); // [RU] вернёт true; [EN] will return true
bool b3 = "АБВ ГДЕЁ ЖЗ ИК ~!@ ЯЯ УФХЦЧШ 123".IsAllUpper(); // [RU] вернёт true; [EN] will return true
bool b4 = "123 ! SDFSD ABCCED ??! #$ VVJK".IsAllUpper(); // [RU] вернёт true; [EN] will return true
bool b5 = "123 ??! #$ ".IsAllUpper(); // [RU] вернёт true; [EN] will return true
bool b5 = "ABC DEFj HIJK LMNOPRQ ST UVW ZZ 123".IsAllUpper(); // [RU] вернёт false; [EN] will return false
bool b6 = "abcd ef ABCD EF".IsAllUpper(); // [RU] вернёт false; [EN] will return false
C# ( IsAllLower )
bool b1 = "abcdef zzdf 123".IsAllLower(); // [RU] вернёт true; [EN] will return true
bool b2 = "abc defgj ~!@ zzdf 123".IsAllLower(); // [RU] вернёт true; [EN] will return true
bool b3 = "123 ! sdsf ??! #$ vvjk".IsAllLower(); // [RU] вернёт true; [EN] will return true
bool b4 = "123 ! абв гдеёжзийклмн опрст уфхцчшщ ъыь эюя ??! #$ vvjk".IsAllLower(); // [RU] вернёт true; [EN] will return true
bool b5 = "123 ??! #$".IsAllLower(); // [RU] вернёт true; [EN] will return true
bool b6 = "abcDEf zzdf 123".IsAllLower(); // [RU] вернёт false; [EN] will return false
bool b6 = "абвГДЕ 123".IsAllLower(); // [RU] вернёт false; [EN] will return false
Методы Left и Right
Позволят получить заданное количество символов слева (метод Left) или справа (метод Right) из исходной строки.
C# ( Left )
string s1 = "".Left(3); // [RU] вернёт "", т.к. любое кол-во символов слева от пустой строки - всегда пустая строка; [EN] will return "", because any number of characters to the left of an empty string - always an empty string
string s2 = "".Left(0); // [RU] аналогично, вернёт ""; [EN] similarly, will return ""
string s3 = "".Left(-3); // [RU] аналогично, вернёт ""; [EN] similarly, will return ""
string s4 = "one two three".Left(3); // [RU] вернёт "one"; [EN] will return "one"
string s5 = "one two three".Left(7); // [RU] вернёт "one two"; [EN] will return "one two"
string s6 = "one two three".Left(1); // [RU] вернёт "o"; [EN] will return "o"
string s7 = "one two three".Left(0); // [RU] вернёт "one two three"; [EN] will return "one two three"
string s8 = "one two three".Left(-5); // [RU] вернёт "one two three"; [EN] will return "one two three"
C# ( Right )
string s1 = "".Right(3); // [RU] вернёт "", т.к. любое кол-во символов справа от пустой строки - всегда пустая строка; [EN] will return "", because any number of characters to the right of an empty string - always an empty string
string s2 = "".Right(0); // [RU] аналогично, вернёт ""; [EN] similarly, will return ""
string s3 = "".Right(-3); // [RU] аналогично, вернёт ""; [EN] similarly, will return ""
string s4 = "one two three".Right(5); // [RU] вернёт "three"; [EN] returns "three"
string s5 = "one two three".Right(9); // [RU] вернёт "two three"; [EN] returns "two three"
string s6 = "one two three".Right(1); // [RU] вернёт "e"; [EN] returns "e"
string s7 = "one two three".Right(0); // [RU] вернёт "one two three"; [EN] returns "one two three"
string s8 = "one two three".Right(-5); // [RU] вернёт "one two three"; [EN] returns "one two three"
Метод Occurrences
Принимает в качестве входного аргумента символ или строку и позволяет подсчитать количество вхождений заданного символа или строки в исходную строку.
Примеры с подсчётом количества вхождений заданного символа в исходную строку:
C#
int c1 = "b abc defb".Occurrences('b'); // [RU] вернёт 3; [EN] will return 3
int c2 = "b abc defb".Occurrences(' '); // [RU] вернёт 2; [EN] will return 2
int c3 = "aa bb cc ddd bb b".Occurrences('b'); // [RU] вернёт 5; [EN] will return 5
int c4 = "aa bb cc ddd bb b".Occurrences('f'); // [RU] вернёт 0; [EN] will return 0
Пример с подсчётом количества вхождений заданной строки в исходную строку:
C#
int c1 = "abab cdab".Occurrences("ab"); // [RU] вернёт 3; [EN] will return 3
int c2 = "221 1122 22 345 22 123".Occurrences("22"); // [RU] вернёт 4; [EN] will return 4
int c3 = "abab cdab".Occurrences(""); // [RU] вернёт 0; [EN] will return 0
int c4 = "abab cdab".Occurrences(null); // [RU] вернёт 0; [EN] will return 0
Метод Reduce
Сокращает строку слева и справа на заданное количество символов. Если входной аргумент вызова меньше или равен 0, то возвращается исходная строка. Если входной аргумент вызова больше половины длины исходной строки, будет возвращена пустая строка.
C#
string s1 = "".Reduce(1); // [RU] вернёт пустую строку; [EN] will return an empty string
string s2 = "a".Reduce(1); // [RU] вернёт пустую строку; [EN] will return an empty string
string s3 = "a".Reduce(10); // [RU] вернёт пустую строку; [EN] will return an empty string
string s4 = "ab".Reduce(1); // [RU] вернёт пустую строку; [EN] will return an empty string
string s5 = "aba".Reduce(1); // [RU] вернёт "b"; [EN] will return "b"
string s6 = "abcde".Reduce(2); // [RU] вернёт "c"; [EN] will return "c"
string s7 = "abcde".Reduce(4); // [RU] вернёт пустую строку; [EN] will return an empty string
string s8 = "abcde".Reduce(-1); // [RU] вернёт "abcde"; [EN] will return "abcde"
string s9 = "abcde".Reduce(0); // [RU] вернёт "abcde"; [EN] will return "abcde"
Методы RemoveLeft и RemoveRight
Удаляют заданное количество символов слева (метод RemoveLeft) или справа (метод RemoveRight) из исходной строки.
C# ( RemoveLeft )
string s0 = "test string".RemoveLeft(5); // [RU] вернёт "string"; [EN] will return "string"
string s1 = "ab".RemoveLeft(1); // [RU] вернёт "b"; [EN] will return "b"
string s2 = "ab".RemoveLeft(2); // [RU] вернёт ""; [EN] will return ""
string s3 = "ab".RemoveLeft(3); // [RU] вернёт ""; [EN] will return ""
string s4 = "ab".RemoveLeft(10); // [RU] вернёт ""; [EN] will return ""
string s5 = "ab".RemoveLeft(0); // [RU] вернёт "ab"; [EN] will return "ab"
string s6 = "ab".RemoveLeft(-3); // [RU] вернёт "ab"; [EN] will return "ab"
C# ( RemoveRight )
string s0 = "abcd".RemoveRight(2); // [RU] вернёт "ab"; [EN] will return "ab"
string s1 = "ab".RemoveRight(1); // [RU] вернёт "a"; [EN] will return "a"
string s2 = "ab".RemoveRight(2); // [RU] вернёт ""; [EN] will return ""
string s3 = "ab".RemoveRight(3); // [RU] вернёт ""; [EN] will return ""
string s4 = "ab".RemoveRight(10); // [RU] вернёт ""; [EN] will return ""
string s5 = "ab".RemoveRight(0); // [RU] вернёт "ab"; [EN] will return "ab"
string s6 = "ab".RemoveRight(-1); // [RU] вернёт "ab"; [EN] will return "ab"
string s7 = "test string".RemoveRight(7); // [RU] вернёт "test"; [EN] will return "test"
Метод Repeat
Повторяет исходную строку заданное количество раз и возвращает новую строку. Если значение входного аргумента вызова отрицательное, возвращается исходная строка. Если значение входного аргумента вызова равно 0, возвращается пустая строка.
C#
string repeated1 = "".Repeat(1); // [RU] возвращает "", т.к. для пустой строки любое количество повторений вернёт пустую строку; [EN] returns "" as for an empty string any number of repetitions returns an empty string
string repeated2 = "a".Repeat(1); // [RU] возвращает "a"; [EN] returns "a"
string repeated3 = "a".Repeat(0); // [RU] возвращает ""; [EN] returns ""
string repeated4 = "one".Repeat(3); // [RU] возвращает "oneoneone"; [EN] returns "oneoneone"
string repeated5 = "-".Repeat(10); // [RU] возвращает "----------"; [EN] returns "----------"
string repeated6 = "test negative".Repeat(-5); // [RU] возвращает "test negative"; [EN] returns "test negative"
Методы Shift, ShiftLeft и ShiftRight
Позволяют производить сдвиги символов внутри исходной строки. Метод Shift нацелен на то, чтобы производить сдвиги внутренней части исходной строки влево или вправо. Метод ShiftLeft будет сдвигать символы исходной строки влево на заданное количество позиций, удаляя из результата те, что выходят за левую границу строки. Аналогично метод ShiftRight будет сдвигать символы исходной строки вправо на заданное количество позиций, удаляя из результата те, что выходят за правую границу строки.
C# ( Shift )
string rightShifted1 = "abcdefg".Shift(2, 2, 2); // [RU] вернёт "abefcdg", т.к. сдвигаем подстроку "cd" (длиной 2 символа) на два символа вправо; [EN] returns "abefcdg" as we're shifting "cd" substring (which length is 2 characters) to the right by 2 characters
string rightShifted2 = "abcdefg".Shift(0, 1, 1); // [RU] вернёт "bacdefg", т.к. сдвигаем подстроку "a" (длиной 1 символ) на 1 символ вправо; [EN] returns "bacdefg" as we're shifting "a" substring (which length is 1 characters) to the right by 1 character
string rightShifted3 = "ab".Shift(0, 1, 1); // [RU] вернёт "ba", т.к. сдвигаем подстроку "a" (длиной 1 символ) на 1 символ вправо; [EN] returns "ba" as we're shifting "a" substring (which length is 1 characters) to the right by 1 character
string rightShifted4 = "Hello, wonderful world!".Shift(6, 10, 6); // [RU] вернёт "Hello, world wonderful!", т.к. сдвигаем подстроку " wonderful" вправо на 6 символов; [EN] returns "Hello, world wonderful!" as we're shifting " wonderful" substring to the right by 6 characters
string noShift1 = "".Shift(1, 2, 3)); // [RU] вернёт "" (пустую строку), т.к. для пустой строки результат сдвига с любыми параметрами - также пустая строка; [EN] returns "" (an empty string) because for an empty string any shift with any input arguments is always an empty string too
string noShift2 = "".Shift(1, 2, -3)); // [RU] аналогично предыдущей строке, вернёт также "" (пустую строку) для попытки сдвига влево на 3 символа; [EN] similar to the previous line, also returns "" (an empty string) when trying to shift to the left by 3 characters
string noShift3 = "abc".Shift(0, 1, -1); // [RU] вернёт ту же строку "abc", т.к. попытка сдвинуть подстроку "a" влево на 1 символ запрещена - "a" уже в позиции 0 и не может быть сдвинут ещё влево; [EN] returns the same string "abc" because an attempt to shift "a" substring to the left by 1 character is restricted - "a" is already at position 0 and can't be shifted to the left again
string noShift4 = "abcdefg".Shift(0, 4, 4); // [RU] вернёт ту же строку "abcdefg", т.к. попытка сдвинуть подстроку "abcd" на 4 символа вправо запрещена - после подстроки только 3 символа, на которые можно сдвинуть вправо; [EN] returns the same string "abcdefg" as an attempt to right-shift "abcd" substring by 4 characters to the right is restricted - after the substring we have only 3 characters by which we can perform a right shift
string leftShifted1 = "one,two,three".Shift(4, 4, -4); // [RU] вернёт "two,one,three", сдвигаем подстроку "two," влево на 4 символа; [EN] returns "two,one,three", shifting a substring "two," by 4 characters to the left
C# ( ShiftLeft )
string s1 = "abcdef".ShiftLeft(); // [RU] вернёт "bcdef", эквивалентно вызову "abcdef".ShiftLeft(1); [EN] will return "bcdef", is equivalent to calling "abcdef".ShiftLeft(1);
string s2 = "test".ShiftLeft(); // [RU] вернёт "est"; [EN] will return "est"
C# ( ShiftLeft )
string s1 = "abcdef".ShiftLeft(1); // [RU] вернёт "bcdef", эквивалентно вызову "abcdef".ShiftLeft(); [EN] will return "bcdef", is equivalent to calling "abcdef".ShiftLeft();
string s2 = "abcdef".ShiftLeft(2); // [RU] вернёт "cdef"; [EN] will return "cdef"
string s3 = "abcdef".ShiftLeft(3); // [RU] вернёт "def"; [EN] will return "def"
string s4 = "abcdef".ShiftLeft(5); // [RU] вернёт "f"; [EN] will return "f"
string s5 = "abcdef".ShiftLeft(6); // [RU] вернёт ""; [EN] will return ""
string s6 = "abcdef".ShiftLeft(400); // [RU] вернёт ""; [EN] will return ""
string s7 = "abcdef".ShiftLeft(0); // [RU] вернёт "abcdef"; [EN] will return "abcdef"
string s8 = "abcdef".ShiftLeft(-1); // [RU] вернёт "abcdef"; [EN] will return "abcdef"
string s9 = "abcdef".ShiftLeft(-120); // [RU] вернёт "abcdef"; [EN] will return "abcdef"
C# ( ShiftRight )
string s1 = "abcdef".ShiftRight(); // [RU] вернёт "abcde", эквивалентно вызову "abcdef".ShiftRight(1); [EN] will return "abcde", is equivalent to calling "abcdef".ShiftRight(1);
string s2 = "test".ShiftRight(); // [RU] вернёт "tes"; [EN] will return "tes"
C# ( ShiftRight )
string s1 = "abcdef".ShiftRight(1); // [RU] вернёт "abcde", эквивалентно вызову "abcdef".ShiftRight(); [EN] will return "abcde", is equivalent to calling "abcdef".ShiftRight();
string s2 = "abcdef".ShiftRight(2); // [RU] вернёт "abcd"; [EN] will return "abcd"
string s3 = "abcdef".ShiftRight(3); // [RU] вернёт "abc"; [EN] will return "abc"
string s4 = "abcdef".ShiftRight(4); // [RU] вернёт "ab"; [EN] will return "ab"
string s5 = "abcdef".ShiftRight(5); // [RU] вернёт "a"; [EN] will return "a"
string s6 = "abcdef".ShiftRight(6); // [RU] вернёт ""; [EN] will return ""
string s7 = "abcdef".ShiftRight(300); // [RU] вернёт ""; [EN] will return ""
string s8 = "abcdef".ShiftRight(0); // [RU] вернёт "abcdef"; [EN] will return "abcdef"
string s9 = "abcdef".ShiftRight(-1); // [RU] вернёт "abcdef"; [EN] will return "abcdef"
string s10 = "abcdef".ShiftRight(-250); // [RU] вернёт "abcdef"; [EN] will return "abcdef"
Методы Surround и SurroundedBy
Позволяют обрамить исходную строку заданным символом или строкой слева и справа (метод Surround) и проверить - обрамлена ли исходная строка заданным символом или строкой слева и справа (метод SurroundedBy).
Метод Surround с символом в качестве входного аргумента:
C# ( Surround )
string s1 = "b".Surround('a'); // [RU] вернёт "aba"; [EN] will return "aba"
string s2 = "1".Surround('-'); // [RU] вернёт "-1-"; [EN] will return "-1-"
string s3 = "".Surround('-'); // [RU] вернёт "--"; [EN] will return "--"
Также можно указать количество повторов обрамляющего символа:
C# ( Surround )
string s1 = "b".Surround('a', 3); // [RU] вернёт "aaabaaa"; [EN] will return "aaabaaa"
string s2 = "1".Surround('-', 2); // [RU] вернёт "--1--"; [EN] will return "--1--"
string s3 = "no change".Surround('-', 0); // [RU] вернёт "no change"; [EN] will return "no change"
string s4 = "no change".Surround('-', -10); // [RU] вернёт "no change"; [EN] will return "no change"
Метод Surround со строкой в качестве входного аргумента:
C# ( Surround )
string s1 = "b".Surround("a"); // [RU] вернёт "aba"; [EN] will return "aba"
string s2 = " test ".Surround("="); // [RU] вернёт "= test ="; [EN] will return "= test ="
string s3 = "1".Surround("234"); // [RU] вернёт "2341234"; [EN] will return "2341234"
string s4 = " warning ".Surround("~~~"); // [RU] вернёт "~~~ warning ~~~"; [EN] will return "~~~ warning ~~~"
string s5 = "".Surround("?"); // [RU] вернёт "??"; [EN] will return "??"
string s6 = "".Surround(""); // [RU] вернёт ""; [EN] will return ""
Также можно указать количество повторов обрамляющей строки:
C# ( Surround )
string s1 = "b".Surround("a", 4); // [RU] вернёт "aaaabaaaa"; [EN] will return "aaaabaaaa"
string s2 = " test ".Surround("=", 5); // [RU] вернёт "===== test ====="; [EN] will return "===== test ====="
string s3 = "1".Surround("234", 3); // [RU] вернёт "2342342341234234234"; [EN] will return "2342342341234234234"
string s4 = " warning ".Surround("~", 10); // [RU] вернёт "~~~~~~~~~~ warning ~~~~~~~~~~"; [EN] will return "~~~~~~~~~~ warning ~~~~~~~~~~"
string s5 = "".Surround("?", 3); // [RU] вернёт "??????"; [EN] will return "??????"
string s6 = "value".Surround("~", 0); // [RU] вернёт "value"; [EN] will return "value"
string s7 = "value".Surround("~", -10); // [RU] вернёт "value"; [EN] will return "value"
Метод SurroundedBy используется для того, чтобы определить, обрамлена ли исходная строка и слева, и справа заданным символом:
C# ( SurroundedBy )
bool b1 = "~a~".SurroundedBy('~'); // [RU] вернёт true; [EN] will return true
bool b2 = "~a".SurroundedBy('~'); // [RU] вернёт false; [EN] will return false
bool b3 = "".SurroundedBy('~'); // [RU] вернёт false; [EN] will return false
Также в аргументе вызова можно вместо символа передать строку:
C# ( SurroundedBy )
bool b1 = "aba".SurroundedBy("a"); // [RU] вернёт true; [EN] will return true
bool b2 = "".SurroundedBy(""); // [RU] вернёт true; [EN] will return true
bool b3 = "a".SurroundedBy("a"); // [RU] вернёт true; [EN] will return true
bool b4 = "~~some string~~".SurroundedBy("~~"); // [RU] вернёт true; [EN] will return true
bool b5 = "~a~".SurroundedBy("~"); // [RU] вернёт true; [EN] will return true
bool b6 = " abcd ".SurroundedBy(" "); // [RU] вернёт true; [EN] will return true
bool b7 = " abcd ".SurroundedBy(" "); // [RU] вернёт true; [EN] will return true
bool b8 = "".SurroundedBy(null); // [RU] вернёт false; [EN] will return false
bool b9 = "".SurroundedBy("a"); // [RU] вернёт false; [EN] will return false
bool b10 = "~a".SurroundedBy("~"); // [RU] вернёт false; [EN] will return false
bool b11 = " abcd".SurroundedBy(" "); // [RU] вернёт false; [EN] will return false
bool b12 = "a".SurroundedBy("b"); // [RU] вернёт false; [EN] will return false
bool b13 = "aba".SurroundedBy("abcde"); // [RU] вернёт false; [EN] will return false
Методы ToBoolean, ToByte, ToSByte, ToInt16, ToInt32, ToInt64, ToFloat, ToDouble, ToDecimal, ToUShort, ToULong, ToUInt
Производят попытку приведения исходной строки к соответствующему типу данных. В случае ошибки при попытке приведения к конкретному типу возвращается 0 для целочисленных типов и false для типа bool (Boolean), если методы используются без входных аргументов.
Для каждого метода есть также возможность передать значение для параметра defaultValue, которое будет возвращено, если попытка приведения к конкретному типу закончилась ошибкой.
Примеры вызова метода ToBoolean:
Метод можно вызывать без параметров, тогда в случае ошибки преобразования строки к типу bool (Boolean) по умолчанию возвращается false:
C#
bool b1 = "true".ToBoolean(); // [RU] вернёт true; [EN] will return true
bool b2 = "TRUE".ToBoolean(); // [RU] вернёт true; [EN] will return true
bool b3 = "True".ToBoolean(); // [RU] вернёт true; [EN] will return true
bool b4 = "TrUE".ToBoolean(); // [RU] вернёт true; [EN] will return true
bool b5 = "".ToBoolean(); // [RU] вернёт false; [EN] will return false
bool b6 = "yes".ToBoolean(); // [RU] вернёт false; [EN] will return false
bool b7 = "some value".ToBoolean(); // [RU] вернёт false; [EN] will return false
bool b8 = "1".ToBoolean(); // [RU] вернёт false; [EN] will return false
bool b9 = "10".ToBoolean(); // [RU] вернёт false; [EN] will return false
При вызове можно также передать значение по умолчанию, которое будет возвращаться в случае ошибки преобразования строки к типу bool (Boolean):
C#
bool b1 = "true".ToBoolean(false); // [RU] вернёт true; [EN] will return true
bool b2 = "TRUE".ToBoolean(false); // [RU] вернёт true; [EN] will return true
bool b3 = "True".ToBoolean(false); // [RU] вернёт true; [EN] will return true
bool b4 = "TRuE".ToBoolean(false); // [RU] вернёт true; [EN] will return true
bool b5 = "yes".ToBoolean(true); // [RU] вернёт true; [EN] will return true
bool b6 = "yes".ToBoolean(false); // [RU] вернёт false; [EN] will return false
bool b7 = "some value".ToBoolean(false); // [RU] вернёт false; [EN] will return false
bool b8 = "1".ToBoolean(true); // [RU] вернёт true; [EN] will return true
bool b9 = "10".ToBoolean(false); // [RU] вернёт false; [EN] will return false
Примеры вызова метода ToInt16:
C#
Метод можно вызывать без параметров, тогда в случае ошибки преобразования строки к типу short (Int16) по умолчанию возвращается 0:
short sh1 = "250".ToInt16(); // [RU] вернёт 250; [EN] will return 250
short sh2 = "32767".ToInt16(); // [RU] вернёт 32767; [EN] will return 32767
short sh3 = "-32768".ToInt16(); // [RU] вернёт -32768; [EN] will return -32768
Int16 sh4 = "-32769".ToInt16(); // [RU] вернёт 0; [EN] will return 0
Int16 sh5 = "32768".ToInt16(); // [RU] вернёт 0; [EN] will return 0
Int16 sh6 = "abc".ToInt16(); // [RU] вернёт 0; [EN] will return 0
Int16 sh7 = "".ToInt16(); // [RU] вернёт 0; [EN] will return 0
Int16 sh8 = "125abc".ToInt16(); // [RU] вернёт 0; [EN] will return 0
При вызове можно также передать значение по умолчанию, которое будет возвращаться в случае ошибки преобразования строки к типу short (Int16):
C#
short sh1 = "250".ToInt16(0); // [RU] вернёт 250; [EN] will return 250
short sh2 = "32767".ToInt16(-1); // [RU] вернёт 32767; [EN] will return 32767
short sh3 = "-32768".ToInt16(-1); // [RU] вернёт -32768; [EN] will return -32768
Int16 sh4 = "-32769".ToInt16(-1); // [RU] вернёт -1; [EN] will return -1
Int16 sh5 = "32768".ToInt16(-2); // [RU] вернёт -2; [EN] will return -2
Int16 sh6 = "abc".ToInt16(-999); // [RU] вернёт -999; [EN] will return -999
Int16 sh7 = "".ToInt16(-2); // [RU] вернёт -2; [EN] will return -2
Int16 sh8 = "125abc".ToInt16(-2); // [RU] вернёт -2; [EN] will return -2
Примеры вызова метода ToInt32:
Метод можно вызывать без параметров, тогда в случае ошибки преобразования строки к типу int (Int32) по умолчанию возвращается 0:
C#
int i1 = "0".ToInt32(); // [RU] вернёт 0; [EN] will return 0
int i2 = "".ToInt32(); // [RU] вернёт 0; [EN] will return 0
int i3 = "7".ToInt32(); // [RU] вернёт 7; [EN] will return 7
int i4 = "-100".ToInt32(); // [RU] вернёт -100; [EN] will return -100
int i5 = "abc".ToInt32(); // [RU] вернёт 0; [EN] will return 0
При вызове можно также передать значение по умолчанию, которое будет возвращаться в случае ошибки преобразования строки к типу int (Int32):
C#
int i1 = "0".ToInt32(-1); // [RU] вернёт 0; [EN] will return 0
int i2 = "".ToInt32(-1); // [RU] вернёт -1; [EN] will return -1
int i3 = "7".ToInt32(-1); // [RU] вернёт 7; [EN] will return 7
int i4 = "-100".ToInt32(-999); // [RU] вернёт -100; [EN] will return -100
int i5 = "abc".ToInt32(-999); // [RU] вернёт -999; [EN] will return -999
Примеры вызова метода ToInt64:
Метод можно вызывать без параметров, тогда в случае ошибки преобразования строки к типу long (Int64) по умолчанию возвращается 0:
C#
long num1 = "1".ToInt64(); // [RU] вернёт 1; [EN] will return 1
long num2 = "0".ToInt64(); // [RU] вернёт 0; [EN] will return 0
long num3 = "123".ToInt64(); // [RU] вернёт 123; [EN] will return 123
long num4 = "-9223372036854775808".ToInt64(); // [RU] вернёт -9223372036854775808; [EN] will return -9223372036854775808
long num5 = "9223372036854775807".ToInt64(); // [RU] вернёт 9223372036854775807; [EN] will return 9223372036854775807
Int64 num6 = "9223372036854775808".ToInt64(); // [RU] вернёт 0, т.к. происходит переполнение верхней границы для типа long (Int64); [EN] will return 0, because upper bound overflow occurs for type long (Int64)
Int64 num7 = "-9223372036854775809".ToInt64(); // [RU] вернёт 0, т.к. происходит переполнение нижней границы для типа long (Int64); [EN] will return 0, because lower bound overflow occurs for type long (Int64)
Int64 num8 = "123abc".ToInt64(); // [RU] вернёт 0, т.к. строка содержит буквенные символы; [EN] will return 0, because string contains literal characters
Int64 num9 = "123!".ToInt64(); // [RU] вернёт 0, т.к. строка содержит специальные символы; [EN] will return 0, because string contains special characters
При вызове можно также передать значение по умолчанию, которое будет возвращаться в случае ошибки преобразования строки к типу long (Int64):
C#
long num1 = "1".ToInt64(-1); // [RU] вернёт 1; [EN] will return 1
long num2 = "0".ToInt64(-5); // [RU] вернёт 0; [EN] will return 0
long num3 = "123".ToInt64(999); // [RU] вернёт 123; [EN] will return 123
long num4 = "-9223372036854775808".ToInt64(-999); // [RU] вернёт -9223372036854775808; [EN] will return -9223372036854775808
long num5 = "9223372036854775807".ToInt64(999); // [RU] вернёт 9223372036854775807; [EN] will return 9223372036854775807
Int64 num6 = "9223372036854775808".ToInt64(999); // [RU] вернёт 999, т.к. происходит переполнение верхней границы для типа long (Int64); [EN] will return 999, because upper bound overflow occurs for type long (Int64)
Int64 num7 = "-9223372036854775809".ToInt64(-999); // [RU] вернёт -999, т.к. происходит переполнение нижней границы для типа long (Int64); [EN] will return -999, because lower bound overflow occurs for type long (Int64)
Int64 num8 = "123abc".ToInt64(-1); // [RU] вернёт -1, т.к. строка содержит буквенные символы; [EN] will return -1, because string contains literal characters
Int64 num9 = "123!".ToInt64(-2); // [RU] вернёт -2, т.к. строка содержит специальные символы; [EN] will return -2, because string contains special characters
Аналогичным образом работают и все другие методы приведения строки к типам данных: они также поддерживают вариант вызова без параметров или с параметром, указывающим, какое значение вернуть в случае, если произошла ошибка приведения строки к соответствующему типу. Более подробную информацию с примерами по этим методам вы сможете найти в документации на библиотеку AINStringUtils 2.
Тестовые демонстрационные проекты для C# и Visual Basic .NET
Ниже вы найдете ссылки на наши демо-проекты для языков C# и Visual Basic .NET, в которых уже подключена библиотека AINStringUtils 2 и показаны примеры работы с новыми методами, вошедшими в релиз:
Демонстрационный проект для C# (Windows Forms)
Демонстрационный проект для Visual Basic .NET