Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

В некоторых языках программирования , таких как Perl , использование фигурных скобок является более быстрым способом извлечения байтов из строковой переменной.

В псевдокоде [ править ]

Пример обозначения скобок с использованием псевдокода, который извлекает 82-й символ из строки:

a_byte = a_string {82}

Эквивалент этого с использованием гипотетической функции MID:

a_byte = MID (a_string, 82, 1)

В C [ править ]

В C строки обычно представлены как массив символов, а не как фактический строковый тип данных. Тот факт, что строка на самом деле является массивом символов, означает, что ссылка на строку будет означать ссылку на первый элемент в массиве. Следовательно, в C следующий пример правильной записи фигурных скобок:

#include  <stdio.h>#include  <string.h>#include  <stdlib.h>int  main ( int  argc ,  char *  argv [])  {  char *  a_string  =  "Тест" ;  printf ( "% c" , a_string [ 0 ]);  // Будет печатать "T"  printf ( "% c" , a_string [ 1 ]);  // напечатает "e"  printf ( "% c" , a_string [ 2 ]);  // Будет печатать "s"  printf ( "% c" ,a_string [3 ]);  //  выведет "t" printf ( "% c" , a_string [ 4 ]);  // Будет печатать «нулевой» символ (ASCII 0) в конце строки  return ( 0 ); }

Обратите внимание, что каждый из a_string [n] будет иметь тип данных 'char', в то время как сама a_string будет возвращать указатель на первый элемент в массиве символов a_string.

В C # [ править ]

C # по- другому обрабатывает скобки. Строка - это примитивный тип, который возвращает символ, когда встречается с нотацией фигурных скобок:

String  var  =  "Hello World" ; char  h  =  var [ 0 ]; char  e  =  var [ 1 ]; Строка  хе-хе  =  h . ToString ()  +  е . ToString ();  // строка "он" хе-хе  + =  хе-хе ;  // строка "хе-хе"

Чтобы изменить тип char на строку в C #, используйте метод ToString () . Это позволяет объединять отдельные символы с помощью символа сложения +, который действует как символ конкатенации при работе со строками.

В Python [ править ]

В Python строки неизменяемы , поэтому сложно изменить существующую строку, но легко извлекать и объединять строки друг с другом: извлекать символы еще проще:

>>> var  =  'hello world' >>> var [ 0 ] #  вернуть первый символ как однобуквенную строку 'h' >>> var [ - 1 ] 'd' >>> var [ len ( var ) - 1 ]  #len (var) - длина строки в var; len (var) -1 - это индекс последнего символа строки. 'd' >>> var  =  var  +  '' +  var [ 8 ]  +  var [ 7 ] +  var [ 2 ]  +  var [ 1 ] >>> var 'hello world role'

Python гибок, когда дело касается деталей, обратите внимание, что var [-1] принимает -1 в качестве номера индекса. Этот индекс интерпретируется как первый символ, начинающийся с конца строки. Считайте 0 границей индекса для строки; ноль является включительным, следовательно, он вернет первый символ. При индексе 1 и выше все символы, принадлежащие каждому индексу, «извлекаются» слева направо. При индексе -1 и ниже все символы «извлекаются» справа налево. Поскольку перед индексом 0 больше нет символов, Python «перенаправляет» курсор в конец строки, где символы читаются справа налево. Если строка имеет длину n , то максимальная граница индекса - n-1, а минимальная граница индекса - -n. который возвращает тот же символ, что и индекс 0, а именно первый символ.

Также возможно извлечь последовательность символов:

>>> var [ 0 : 5 ] 'привет'

Обратите внимание, что последнее число в последовательности является исключительным. Python извлекает символы, начиная с индекса 0 и заканчивая 5.

Также можно извлечь каждый символ x в последовательности, в этом случае x = 2:

>>> var  =  'abcdefghijklmn' >>> var [ 0 : len ( var ): 2 ] 'acegikm'

В PHP [ править ]

Строки PHP могут вырасти до очень больших размеров и могут использовать всю доступную память, если встречается достаточно большая строка. Обычно, если это так, может быть лучше разделить () строку на массив для более точного управления. Обозначение скобок в PHP выглядит так:

$ a  =  "Привет"  .  «Мир» ; $ c  =  $ a [ 0 ]  .  $ а [ 1 ]  .  $ а [ 8 ]  .  $ а [ 3 ]  .  $ a [ 6 ]; эхо  $ c  . "" . strlen ( $ c );  // Привет 5

Обратите внимание, что переменная $ a принимает символы внутри двойных или одинарных кавычек как ту же строку. PHP ожидает, что строка будет заканчиваться той же кавычкой, что и открывающая кавычка. Обозначение скобок в строке всегда возвращает строковый тип.

В JavaScript [ править ]

Обозначение скобок в JavaScript работает так же, как в C # и PHP.

var  myString  =  "Привет"  +  "Мир" ; предупреждение ( myString [ 0 ]  +  ""  +  myString [ 5 ]);  // предупреждает сообщение: HW

В MATLAB [ править ]

MATLAB обрабатывает нотацию скобок немного иначе, чем большинство распространенных языков программирования.

>> var = 'Hello World'   var = Привет мир >> var ( 1 ) ans = ЧАС

Строки начинаются с индекса 1, заключенного в круглые скобки , поскольку они рассматриваются как матрицы. Полезной чертой обозначения скобок в MATLAB является то, что он поддерживает диапазон индексов, как и Python:

>> var ( 1 : 8 ) ans = Привет Ву >> var ( 1 : длина ( var )) ans = Привет мир 

Использование квадратных скобок [] зарезервировано для создания матриц в MATLAB.

См. Также [ править ]

  • Нарезка массива