Arduino:Примеры/StringSubstring: различия между версиями
Myagkij (обсуждение | вклад) (→Код) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Строковая функция Substring <ref>[http://www.arduino.cc/en/Tutorial/StringSubstring String substring Function]</ref>= | |||
Функция substring(), простите за тавтологию, функционально близка к функциям charAt(), startsWith() и endsWith(). Она позволяет искать в строке определенные символы. | Функция substring(), простите за тавтологию, функционально близка к функциям charAt(), startsWith() и endsWith(). Она позволяет искать в строке определенные символы. | ||
Строка 15: | Строка 15: | ||
Цепь для этого примера не нужна, просто подключите '''Arduino''' к компьютеру (при помощи '''USB'''). | Цепь для этого примера не нужна, просто подключите '''Arduino''' к компьютеру (при помощи '''USB'''). | ||
[[ | [[Файл:Arduino bb.png|frame|center|'''Рис. 1.''' Для этого примера необходима только плата Arduino.|alt=Рис. 1. Для этого примера необходима только плата Arduino.]] | ||
==Код== | ==Код== | ||
Строка 21: | Строка 21: | ||
Функция substring(), в которой задан всего один параметр, ищет от заданной позиции и до конца строки. То есть подразумевается, что искомая подстрока длится до самого конца строки. Например, | Функция substring(), в которой задан всего один параметр, ищет от заданной позиции и до конца строки. То есть подразумевается, что искомая подстрока длится до самого конца строки. Например, | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
String stringOne = "Content-Type: text/html"; | String stringOne = "Content-Type: text/html"; | ||
Строка 31: | Строка 31: | ||
Этот код верен, тогда как этот: | Этот код верен, тогда как этот: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
String stringOne = "Content-Type: text/html"; | String stringOne = "Content-Type: text/html"; | ||
Строка 43: | Строка 43: | ||
При этом substring() с двумя параметрами ищет от одной заданной позиции и до другой. Например, | При этом substring() с двумя параметрами ищет от одной заданной позиции и до другой. Например, | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
String stringOne = "Content-Type: text/html"; | String stringOne = "Content-Type: text/html"; | ||
Строка 56: | Строка 56: | ||
{{Внимание1|Убедитесь, что заданные вами позиции находятся в пределах строки, иначе такой код может повлечь непредвиденные результаты. Эту ошибку бывает особенно трудно найти, если в substring() указано два параметра – когда первый из них меньше длины строки, а второй нет.}} | {{Внимание1|Убедитесь, что заданные вами позиции находятся в пределах строки, иначе такой код может повлечь непредвиденные результаты. Эту ошибку бывает особенно трудно найти, если в substring() указано два параметра – когда первый из них меньше длины строки, а второй нет.}} | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/* | /* | ||
Строковая функция Substring | Строковая функция Substring | ||
Строка 101: | Строка 101: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= См.также= | |||
# String object | # String object | ||
Строка 116: | Строка 116: | ||
# StringSubstring | # StringSubstring | ||
=Внешние ссылки= | |||
<references /> | <references /> |
Текущая версия от 21:42, 25 марта 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Строковая функция Substring [1]
Функция substring(), простите за тавтологию, функционально близка к функциям charAt(), startsWith() и endsWith(). Она позволяет искать в строке определенные символы.
Необходимое оборудование
- Плата Arduino;
Цепь
Цепь для этого примера не нужна, просто подключите Arduino к компьютеру (при помощи USB).
![Рис. 1. Для этого примера необходима только плата Arduino.](/ruwiki/images/c/c3/Arduino_bb.png)
Код
Функция substring(), в которой задан всего один параметр, ищет от заданной позиции и до конца строки. То есть подразумевается, что искомая подстрока длится до самого конца строки. Например,
String stringOne = "Content-Type: text/html";
// Функция substring(19) ищет подстроку от указанной позиции (т.е. от 19) и до самого конца:
if (stringOne.substring(19) == "html") {
}
Этот код верен, тогда как этот:
String stringOne = "Content-Type: text/html";
// Функция substring(19) ищет подстроку от указанной позиции (т.е. от 19) и до самого конца:
if (stringOne.substring(19) == "htm") {
}
...не верен, поскольку после подстроки «htm» в строке еще присутствует символ «l».
При этом substring() с двумя параметрами ищет от одной заданной позиции и до другой. Например,
String stringOne = "Content-Type: text/html";
// Вы также можете искать подстроки, находящиеся в центре строки:
if (stringOne.substring(14,18) == "text") {
}
В этом фрагменте функция ищет слово «text», находящееся с 14-ой позиции по 18-ую.
/*
Строковая функция Substring
Несколько примеров использования функции substring() при работе со строками.
Создан 27 июля 2010,
модифицирован 2 апреля 2012 Заком Эвеландом (Zach Eveland).
http://arduino.cc/en/Tutorial/StringSubstring
Этот код не защищен авторским правом.
*/
void setup() {
// Инициализируем последовательную передачу данных и ждем открытия порта:
Serial.begin(9600);
while (!Serial) {
; // ждем, когда подключится последовательный порт (только для Leonardo)
}
// Отсылаем вступительную часть:
Serial.println("\n\nString substring():");
Serial.println();
}
void loop() {
// Задаем строку:
String stringOne = "Content-Type: text/html";
Serial.println(stringOne);
// Функция substring(19) ищет подстроку от указанной позиции (т.е. от 19) и до самого конца:
if (stringOne.substring(19) == "html") {
Serial.println("It's an html file");
}
// Вы также можете искать подстроки, находящиеся в центре строки:
if (stringOne.substring(14,18) == "text") {
Serial.println("It's a text-based file");
}
// Пока условие верно, ничего не делаем:
while(true);
}
См.также
- String object
- StringConstructors
- StringAdditionOperator
- StringIndexOf
- StringAppendOperator
- StringLengthTrim
- StringCaseChanges
- StringReplace
- StringCharacters
- StringStartsWithEndsWith
- StringComparisonOperators
- StringSubstring
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino