Textové řetězce
V tomto cvičení se budeme věnovat práci s textovými řetězci v programovacím jazyce Java. V Javě je textový řetězec reprezentován třídou String, která nabízí mnoho užitečných metod pro manipulaci s textem. Naše úloha se zaměří právě na tyto metody a jejich využití při zpracování různých textových dat.
Tip: Pro porovnání dvou textových řetězců v Javě nelze použít operátor ==, ale je nutné využít metody equals(String).
Definice metod
-
Metoda
splitName(String fullName)
:- Tato metoda rozdělí zadané plné jméno na křestní jméno a příjmení a vrátí je jako pole dvou řetězců. Jméno a příjmení jsou odděleny jednou mezerou.
- Příklad použití: splitName("John Doe") vrátí pole ["John", "Doe"].
- Speciální případ: splitName("First Middle Last") vrátí pole ["First", "Middle Last"].
- Speciální případ: splitName("Ronaldino") vrátí pole ["Ronaldino"].
-
Metoda
replaceWords(String originalText, String[] wordsToReplace, String replacement)
:- Tato metoda nahradí všechny výskyty určených slov ve zadaném textu novým slovem.
- Příklad použití: replaceWords("Hello world, hello universe.", {"Hello","hello"}, "Hi") vrátí "Hi world, Hi universe.".
-
Metoda
removeDiacritics(String text)
:- Tato metoda odstraní diakritiku (háčky, čárky apod.) ze zadaného textu.
- V této metodě musíš pracovat s jednotlivými znaky pomocí primitivního datového typu char.
- Příklad použití: removeDiacritics("Příliš žluťoučký kůň") vrátí "Prilis zlutoucky kun".
-
Metoda
extractDateFromURL(String url)
:- Tato metoda z URL adresy získá datum ve formátu "yyyy-MM-dd".
- K testu, zda je daný řetězec v tomto formátu můžete využít metodu třídy String matches(String), do níž jako vstup umístíte korektní regulární výraz, čímž si vynutíte správný formát.
- Příklad použití: extractDateFromURL("https://example.com/news/2023-07-15") vrátí "2023-07-15".
-
Metoda
formatTimestamp(long timestamp)
:- Tato metoda převede časové razítko na textovou reprezentaci ve formátu "dd.MM.yyyy HH:mm".
- Pomoci s řešením by vám měla třída SimpleDateFormat.
- Příklad použití: formatTimestamp(1626356400000L) vrátí "15.07.2021 15:40".
Hodnocení úlohy
Úspěšnost vašeho řešení bude automaticky hodnocena na základě úspěšnosti jednotlivých metod. Každý průchozí test značí správně implementovanou metodu.
- 0 - 1 úspěšný test: Známka 5
- 2 úspěšné testy: Známka 4
- 3 úspěšné testy: Známka 3
- 4 úspěšné testy: Známka 2
- 5 úspěšných testů: Známka 1
Váha známky je 5.
Podpora úlohy
Pro implementaci úlohy máte k dispozici následující soubory:
-
Implementujte soubor (ve složce src/main/java v balíčku org.example) TextUtils.java.
-
Testy máte k dispozici v souboru (ve složce src/test/java) TextUtilsTest.java.
- 31. července 2023, 09.58
- 31. července 2023, 09.58