Створення похідних рядків

Деякі з методів класу String повертають нові рядки, які почасти нагадують вихідні, але зазнали певним модифікаціям Нагадуємо, що нові рядки повинні повертатися через те, що обєкти String доступні тільки для читання Наприклад, для вилучення з рядка фрагмента, обмеженого заданими символами, може застосовуватися наступний метод:

public static String quotedString( String from, char start, char end)

{

int startPos = fromindexOf(start)

int endPos = fromlastIndexOf(end)

if (startPos == -1) / / початковий символ не найден

return null

else if (endPos == -1) / / кінцевий символ не найден

return fromsubstring(startPos)

else / / знайдені обидва символи-обмежувача

return fromsubstring(startPos, endPos + 1)

}

Метод quotedString повертає новий обєкт String, який містить фрагмент рядка from, що починається з символу start та закінчується символом end Якщо знайдено символ start, але не знайдений end, то метод повертає новий обєкт String, що містить всі символи від початкової позиції до кінця рядка У роботі quotedString використовуються дві перевантажені форми методу substring Перша з них отримує тільки початкову позицію в рядку і повертає новий рядок, що містить всі символи з заданої позиції, і до кінця рядка Друга форма отримує і початкову, та кінцеву позиції і

повертає новий рядок, що містить всі символи між відповідними позиціями вихідної рядка при цьому початковий символ-обмежувач включається в підрядок, а кінцевий – ні Саме через цього принципу До кінця, але не включаючи кінець ми і додаємо одиницю до endPos, щоб у підрядок увійшли обидва символи-обмежувача Наприклад, виклик

quotedString(“Il a dit “Bonjour””, ‘“’, ‘”’)

повертає рядок

“Bonjour”

Нижче перераховуються інші методи для створення похідних рядків:

public String replace(char oldChar, char newChar)

Повертає новий обєкт String, в якому всі входження символу old Char замінюються символом newChar

public String toLowerCase()

Повертає новий обєкт String, в якому кожен символ перетворюється в еквівалентний йому символ нижнього регістра (якщо він є)

public String toUpperCase()

Повертає новий обєкт String, в якому кожен символ перетворюється в еквівалентний йому символ верхнього регістру (якщо він є)

public String trim()

Повертає новий обєкт String, в якому видалені всі пробіли на початку і кінці рядка

Метод concat повертає новий рядок, яка еквівалентна застосуванню оператора + до двох рядках Наступні два оператора є еквівалентними:

newStr = oldStrconcat(“ (not)”) newStr = oldStr + “ (not)” Вправа 83

Як показано вище, метод quotedString припускає, що у вихідній рядку є всього один екземпляр підрядка із заданими символами-обмежувачами Напишіть версію методу, яка витягує всі такі рядки і повертає масив

Джерело: Арнольд К, Гослінг Д – Мова програмування Java (1997)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*