В этой статье не процитировать какие - либо источники . ( декабрь 2009 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
В некоторых языках программирования , таких как 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.
См. Также [ править ]
- Нарезка массива