Главная » Processing » Работа со строками в Processing

0

f Последняя функция, о которой мы поговорим это str(), она преобразует любой из перечисленных типов в String. В нашем примере я использовал отрицательное число типа float. Знак – будет в этом случае добавлен к строке.

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

Как это делается

Первое, что мы сделаем – объявим несколько переменных типа String и присвоим им значения. Переменные типа String это просто последовательность символов, заключенная в двойные кавычки.

String word = "Hello"; String[] textArray;

String wordList = "String,theory,is,confusing";

void setup()

{

textArray = new String[3]; textArray[0] = "Man"; textArray[1] = "Bear"; textArray[2] = "Pig";

noLoop();

}

В функции draw() мы взглянем на методы, применимые для переменных типа String.

println("Word: charAt(1): " + word.charAt(1) ); println("Word: length(): " + word.length() ); println("Word: substring( 2, 4 ): " + word.substring(2, 4) ); println("Word: toLowerCase(): " + word.toLowerCase() ); println("Word: toUpperCase(): " + word.toUpperCase() ); println("Word: indexOf(\"l\"): " + word.indexOf("l") );

if ( word.equals("Hi") ) { println("Hi there!");

} else {

println("The word is not Hi");

}

println("—");

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

String joined = join( textArray, "" ); println( joined );

println("—");

String[] words = split( wordList, "," ); println( words );

println("—");

println( trim("   I was a sentence with too much whitespace.     ")

);

Запустив скетч, вы увидите на консоли следующий текст:

Word: charAt(1): e Word: length(): 5

Word: substring( 2, 4 ): ll Word: toLowerCase(): hello Word: toUpperCase(): HELLO Word: indexOf("l"): 2

The word is not Hi

ManBearPig

[0] "String"

[1] "theory"

[2] "is"

[3] "confusing"

I was a sentence with too much whitespace.

Как это работает

Для начала, посмотрим, как работают методы для переменных типа String.

f   Метод charAt() используется для получения символа с определенным индексом.

Если вам нужен первый символ, то укажите charAt(0).

f   Метод length() возвращает число символов в строке в виде целого числа.

f Метод substring() используется для получения определенного фрагмента строки. В этом методе может быть один или два параметра. Если вы введете один параметр, он возвратит строку, соответствующую фрагменту от указанного иекса до конца строки. Метод с двумя параметрами нужен для указания индекса начала и конца строки. В нашем примере эта функция возвращает символы ll из строки Hello, находящиеся на позиции 2 и 3. Индекс конца не будет включен в возвращаемую строку.

f   Метод toLowerCase() преобразует регистр всех символов в строке в нижний регистр. Метод toUpperCase(), напротив, преобразует регистр всех символов в верхний.

f Метод indexOf() возвращает возвращает индекс указанного символа в том мте строки, где он встречается в первый раз. В нашем примере это число 2, что соответствует первой букве l в строке Hello. Если искомый символ не найден в строке, метод возвратит вам число -1.

f   Функция equals() используется для сравнения строк. Если строки совпадают, он возвращает true (истина), если нет – false (ложь).

Processing имеет и свои функции для работы со строками.

f Функция join() используется для совмещения массива строк в одну строку. Я соединил вместе слова, а вы можете объединить любые символы или строки в одну строку.

f Функция split() выполняет действие обратное функции join() и разбивает строку на массив строк. Мы уже применяли эту функцию для работы с файлами CSV.

f   Функция trim() удаляет лишние пробелы в начале и конце строки.

Источник: Ян Вантомм, Processing 2: креативное программирование, перевод с английского Александры Мишутиной, Published by Packt Publishing Ltd., 2012, BIRMINGHAM – MUMBAI.

По теме:

  • Комментарии