Учебники

VB.Net — Струны

В VB.Net вы можете использовать строки в виде массива символов, однако более распространенной практикой является использование ключевого слова String для объявления строковой переменной. Ключевое слово string является псевдонимом для класса System.String .

Создание строкового объекта

Вы можете создать строковый объект, используя один из следующих методов —

  • Присваивая строковый литерал строковой переменной

  • Используя конструктор класса String

  • Используя оператор конкатенации строк (+)

  • Получая свойство или вызывая метод, который возвращает строку

  • Вызывая метод форматирования для преобразования значения или объекта в его строковое представление

Присваивая строковый литерал строковой переменной

Используя конструктор класса String

Используя оператор конкатенации строк (+)

Получая свойство или вызывая метод, который возвращает строку

Вызывая метод форматирования для преобразования значения или объекта в его строковое представление

Следующий пример демонстрирует это —

Live Demo

Module strings
   Sub Main()
      Dim fname, lname, fullname, greetings As String
      fname = "Rowan"
      lname = "Atkinson"
      fullname = fname + " " + lname
      Console.WriteLine("Full Name: {0}", fullname)

      'by using string constructor
      Dim letters As Char() = {"H", "e", "l", "l", "o"}
      greetings = New String(letters)
      Console.WriteLine("Greetings: {0}", greetings)

      'methods returning String
      Dim sarray() As String = {"Hello", "From", "Tutorials", "Point"}
      Dim message As String = String.Join(" ", sarray)
      Console.WriteLine("Message: {0}", message)

      'formatting method to convert a value 
      Dim waiting As DateTime = New DateTime(2012, 12, 12, 17, 58, 1)
      Dim chat As String = String.Format("Message sent at {0:t} on {0:D}", waiting)
      Console.WriteLine("Message: {0}", chat)
      Console.ReadLine()
   End Sub
End Module

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

Full Name: Rowan Atkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 5:58 PM on Wednesday, December 12, 2012

Свойства класса String

Класс String имеет следующие два свойства —

Sr.No Название и описание недвижимости
1

Символов

Получает объект Char в указанной позиции в текущем объекте String .

2

длина

Получает количество символов в текущем объекте String.

Символов

Получает объект Char в указанной позиции в текущем объекте String .

длина

Получает количество символов в текущем объекте String.

Методы класса String

Класс String имеет множество методов, которые помогут вам в работе со строковыми объектами. В следующей таблице приведены некоторые из наиболее часто используемых методов —

Sr.No Название и описание метода
1

Сравнение открытых общих функций (strA как строка, strB как строка) как целое число

Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки.

2

Сравнение открытых общих функций (strA As String, strB As String, ignoreCase As Boolean) As Integer

Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки. Однако он игнорирует случай, если логический параметр имеет значение true.

3

Открытая общая функция Concat (str0 As String, str1 As String) As String

Объединяет два строковых объекта.

4

Открытая общая функция Concat (str0 As String, str1 As String, str2 As String) As String

Объединяет три строковых объекта.

5

Открытая общая функция Concat (str0 As String, str1 As String, str2 As String, str3 As String) As String

Объединяет четыре строковых объекта.

6

Открытая функция содержит (значение в виде строки) как логическое значение

Возвращает значение, указывающее, встречается ли указанный строковый объект в этой строке.

7

Публичная общая функция Копировать (строка как строка) как строка

Создает новый объект String с тем же значением, что и указанная строка.

8

pPublic Sub CopyTo (sourceIndex как целое число, получатель как Char (), destinationIndex как целое число, считать как целое число)

Копирует указанное количество символов из указанной позиции строкового объекта в указанную позицию в массиве символов Юникода.

9

Открытая функция EndsWith (значение как строка) как логическое значение

Определяет, соответствует ли конец строкового объекта указанной строке.

10

Открытая функция равно (значение как строка) как логическое значение

Определяет, имеют ли текущий строковый объект и указанный строковый объект одинаковые значения.

11

Открытая общая функция равна (a As String, b As String) As Boolean

Определяет, имеют ли два указанных строковых объекта одинаковое значение.

12

Формат общедоступной общей функции (формат As String, arg0 As Object) As String

Заменяет один или несколько элементов формата в указанной строке строковым представлением указанного объекта.

13

Открытая функция IndexOf (значение как символ) как целое число

Возвращает нулевой индекс первого вхождения указанного символа Unicode в текущей строке.

14

Открытая функция IndexOf (значение как строка) как целое число

Возвращает нулевой индекс первого вхождения указанной строки в этом экземпляре.

15

Открытая функция IndexOf (значение как Char, startIndex как целое число) как целое число

Возвращает нулевой индекс первого вхождения указанного символа Unicode в этой строке, начиная поиск с указанной позиции символа.

16

Открытая функция IndexOf (значение как строка, startIndex как целое число) как целое число

Возвращает нулевой индекс первого вхождения указанной строки в этом случае, начиная поиск с указанной позиции символа.

17

Открытая функция IndexOfAny (anyOf As Char ()) как целое число

Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода.

18

Открытая функция IndexOfAny (anyOf As Char (), startIndex As Integer) как Integer

Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода, начиная поиск с указанной позиции символа.

19

Открытая функция Вставка (startIndex как целое число, значение как строка) как строка

Возвращает новую строку, в которой указанная строка вставлена ​​в указанную позицию индекса в текущем строковом объекте.

20

Открытая общая функция IsNullOrEmpty (значение в виде строки) как логическое значение

Указывает, является ли указанная строка пустой или пустой строкой.

21

Открытая общая функция Join (разделитель As String, значение ParamArray As String ()) As String

Объединяет все элементы массива строк, используя указанный разделитель между каждым элементом.

22

Открытая общая функция Соединение (разделитель как строка, значение как строка (), startIndex как целое число, число как целое число) как строка

Объединяет указанные элементы массива строк, используя указанный разделитель между каждым элементом.

23

Открытая функция LastIndexOf (значение как символ) как целое число

Возвращает нулевую позицию индекса последнего вхождения указанного символа Unicode в текущем строковом объекте.

24

Открытая функция LastIndexOf (значение как строка) как целое число

Возвращает нулевую позицию индекса последнего вхождения указанной строки в текущем строковом объекте.

25

Открытая функция Remove (startIndex As Integer) как String

Удаляет все символы в текущем экземпляре, начиная с указанной позиции и продолжая до последней позиции, и возвращает строку.

26

Открытая функция Remove (startIndex как целое число, считается как целое число) как строка

Удаляет указанное количество символов в текущей строке, начиная с указанной позиции, и возвращает строку.

27

Открытая функция Replace (oldChar As Char, newChar As Char) как строка

Заменяет все вхождения указанного символа Unicode в текущем строковом объекте на указанный символ Unicode и возвращает новую строку.

28

Открытая функция Replace (oldValue As String, newValue As String) As String

Заменяет все вхождения указанной строки в текущем строковом объекте на указанную строку и возвращает новую строку.

29

Открытая функция Split (разделитель ParamArray As Char ()) As String ()

Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode.

30

Открытая функция Split (разделитель как Char (), считать как целое число) как String ()

Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode. Параметр int указывает максимальное количество возвращаемых подстрок.

31

Открытая функция StartsWith (значение как строка) как логическое значение

Определяет, соответствует ли начало этого экземпляра строки указанной строке.

32

Открытая функция ToCharArray As Char ()

Возвращает массив символов Unicode со всеми символами в текущем строковом объекте.

33

Открытая функция ToCharArray (startIndex как целое число, длина как целое число) как Char ()

Возвращает массив символов Unicode со всеми символами в текущем строковом объекте, начиная с указанного индекса и до указанной длины.

34

Открытая функция ToLower As String

Возвращает копию этой строки, преобразованную в нижний регистр.

35

Открытая функция ToUpper As String

Возвращает копию этой строки, преобразованную в верхний регистр.

36

Публичная функция Trim As String

Удаляет все начальные и конечные пробельные символы из текущего объекта String.

Сравнение открытых общих функций (strA как строка, strB как строка) как целое число

Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки.

Сравнение открытых общих функций (strA As String, strB As String, ignoreCase As Boolean) As Integer

Сравнивает два указанных строковых объекта и возвращает целое число, которое указывает их относительное положение в порядке сортировки. Однако он игнорирует случай, если логический параметр имеет значение true.

Открытая общая функция Concat (str0 As String, str1 As String) As String

Объединяет два строковых объекта.

Открытая общая функция Concat (str0 As String, str1 As String, str2 As String) As String

Объединяет три строковых объекта.

Открытая общая функция Concat (str0 As String, str1 As String, str2 As String, str3 As String) As String

Объединяет четыре строковых объекта.

Открытая функция содержит (значение в виде строки) как логическое значение

Возвращает значение, указывающее, встречается ли указанный строковый объект в этой строке.

Публичная общая функция Копировать (строка как строка) как строка

Создает новый объект String с тем же значением, что и указанная строка.

pPublic Sub CopyTo (sourceIndex как целое число, получатель как Char (), destinationIndex как целое число, считать как целое число)

Копирует указанное количество символов из указанной позиции строкового объекта в указанную позицию в массиве символов Юникода.

Открытая функция EndsWith (значение как строка) как логическое значение

Определяет, соответствует ли конец строкового объекта указанной строке.

Открытая функция равно (значение как строка) как логическое значение

Определяет, имеют ли текущий строковый объект и указанный строковый объект одинаковые значения.

Открытая общая функция равна (a As String, b As String) As Boolean

Определяет, имеют ли два указанных строковых объекта одинаковое значение.

Формат общедоступной общей функции (формат As String, arg0 As Object) As String

Заменяет один или несколько элементов формата в указанной строке строковым представлением указанного объекта.

Открытая функция IndexOf (значение как символ) как целое число

Возвращает нулевой индекс первого вхождения указанного символа Unicode в текущей строке.

Открытая функция IndexOf (значение как строка) как целое число

Возвращает нулевой индекс первого вхождения указанной строки в этом экземпляре.

Открытая функция IndexOf (значение как Char, startIndex как целое число) как целое число

Возвращает нулевой индекс первого вхождения указанного символа Unicode в этой строке, начиная поиск с указанной позиции символа.

Открытая функция IndexOf (значение как строка, startIndex как целое число) как целое число

Возвращает нулевой индекс первого вхождения указанной строки в этом случае, начиная поиск с указанной позиции символа.

Открытая функция IndexOfAny (anyOf As Char ()) как целое число

Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода.

Открытая функция IndexOfAny (anyOf As Char (), startIndex As Integer) как Integer

Возвращает нулевой индекс первого вхождения в этом экземпляре любого символа в указанном массиве символов Юникода, начиная поиск с указанной позиции символа.

Открытая функция Вставка (startIndex как целое число, значение как строка) как строка

Возвращает новую строку, в которой указанная строка вставлена ​​в указанную позицию индекса в текущем строковом объекте.

Открытая общая функция IsNullOrEmpty (значение в виде строки) как логическое значение

Указывает, является ли указанная строка пустой или пустой строкой.

Открытая общая функция Join (разделитель As String, значение ParamArray As String ()) As String

Объединяет все элементы массива строк, используя указанный разделитель между каждым элементом.

Открытая общая функция Соединение (разделитель как строка, значение как строка (), startIndex как целое число, число как целое число) как строка

Объединяет указанные элементы массива строк, используя указанный разделитель между каждым элементом.

Открытая функция LastIndexOf (значение как символ) как целое число

Возвращает нулевую позицию индекса последнего вхождения указанного символа Unicode в текущем строковом объекте.

Открытая функция LastIndexOf (значение как строка) как целое число

Возвращает нулевую позицию индекса последнего вхождения указанной строки в текущем строковом объекте.

Открытая функция Remove (startIndex As Integer) как String

Удаляет все символы в текущем экземпляре, начиная с указанной позиции и продолжая до последней позиции, и возвращает строку.

Открытая функция Remove (startIndex как целое число, считается как целое число) как строка

Удаляет указанное количество символов в текущей строке, начиная с указанной позиции, и возвращает строку.

Открытая функция Replace (oldChar As Char, newChar As Char) как строка

Заменяет все вхождения указанного символа Unicode в текущем строковом объекте на указанный символ Unicode и возвращает новую строку.

Открытая функция Replace (oldValue As String, newValue As String) As String

Заменяет все вхождения указанной строки в текущем строковом объекте на указанную строку и возвращает новую строку.

Открытая функция Split (разделитель ParamArray As Char ()) As String ()

Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode.

Открытая функция Split (разделитель как Char (), считать как целое число) как String ()

Возвращает строковый массив, содержащий подстроки в текущем строковом объекте, разделенные элементами указанного массива символов Unicode. Параметр int указывает максимальное количество возвращаемых подстрок.

Открытая функция StartsWith (значение как строка) как логическое значение

Определяет, соответствует ли начало этого экземпляра строки указанной строке.

Открытая функция ToCharArray As Char ()

Возвращает массив символов Unicode со всеми символами в текущем строковом объекте.

Открытая функция ToCharArray (startIndex как целое число, длина как целое число) как Char ()

Возвращает массив символов Unicode со всеми символами в текущем строковом объекте, начиная с указанного индекса и до указанной длины.

Открытая функция ToLower As String

Возвращает копию этой строки, преобразованную в нижний регистр.

Открытая функция ToUpper As String

Возвращает копию этой строки, преобразованную в верхний регистр.

Публичная функция Trim As String

Удаляет все начальные и конечные пробельные символы из текущего объекта String.

Приведенный выше список методов не является исчерпывающим, пожалуйста, посетите библиотеку MSDN для полного списка методов и конструкторов класса String.

Примеры

Следующий пример демонстрирует некоторые из методов, упомянутых выше —

Сравнение строк

Live Demo

Module strings
   Sub Main()
      Dim str1, str2 As String
      str1 = "This is test"
      str2 = "This is text"
      
      If (String.Compare(str1, str2) = 0) Then
         Console.WriteLine(str1 + " and " + str2 + " are equal.")
      Else
         Console.WriteLine(str1 + " and " + str2 + " are not equal.")
      End If
      Console.ReadLine()
   End Sub
End Module

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

This is test and This is text are not equal.

Строка содержит строку

Live Demo

Module strings
   Sub Main()
      Dim str1 As String
      str1 = "This is test"
      
      If (str1.Contains("test")) Then
         Console.WriteLine("The sequence 'test' was found.")
      End If
      Console.ReadLine()
   End Sub
End Module

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

The sequence 'test' was found.

Получение подстроки:

Live Demo

Module strings
   Sub Main()
      Dim str As String
      str = "Last night I dreamt of San Pedro"
      Console.WriteLine(str)
      
      Dim substr As String = str.Substring(23)
      Console.WriteLine(substr)
      Console.ReadLine()
   End Sub
End Module

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

Last night I dreamt of San Pedro
San Pedro.

Строки соединения

Live Demo

Module strings
   Sub Main()
      Dim strarray As String() = {
         "Down the way where the nights are gay",
         "And the sun shines daily on the mountain top",
         "I took a trip on a sailing ship",
         "And when I reached Jamaica",
         "I made a stop"
      }
      Dim str As String = String.Join(vbCrLf, strarray)
      Console.WriteLine(str)
      Console.ReadLine()
   End Sub
End Module

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —