Освоение форматирования строк в Scala: полное руководство по f-строкам

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

  1. Базовая интерполяция строк.
    Самый простой способ использования f-строк в Scala — это базовая интерполяция строк. Поместив символ «s» перед строковым литералом, вы можете напрямую вставлять переменные или выражения в строку.
val name = "Alice"
val age = 25
val message = s"My name is $name and I am $age years old."
println(message)

Выход:

My name is Alice and I am 25 years old.
  1. Форматирование числовых значений.
    Scala поддерживает различные варианты форматирования числовых значений в f-строках. Вы можете использовать символ «f», за которым следует спецификатор форматирования, для управления точностью, шириной и заполнением числовых значений.
val price = 19.99
val quantity = 5
val total = price * quantity
val formattedTotal = f"The total cost is $$$total%.2f"
println(formattedTotal)

Выход:

The total cost is $99.95
  1. Форматирование даты и времени.
    f-строки в Scala также могут обрабатывать форматирование значений даты и времени с использованием символа «t», за которым следует спецификатор форматирования. Вы можете указать желаемый шаблон для отображения определенных компонентов даты или времени.
import java.time.LocalDateTime
val now = LocalDateTime.now()
val formattedDate = t"The current date and time is $now%tY-%tm-%td %tH:%tM:%tS"
println(formattedDate)

Выход:

The current date and time is 2024-03-04 10:15:30
  1. Экранные символы.
    Чтобы включить специальные символы или избежать интерпретации переменных, вы можете использовать двойные знаки доллара ‘$$’ в f-строках.
val name = "John"
val message = s"His name is $$name."
println(message)

Выход:

His name is $name.

В этой статье мы рассмотрели возможности f-строк в Scala для форматирования строк. Мы рассмотрели базовую интерполяцию строк, форматирование числовых значений, обработку дат и времени, а также экранирование специальных символов. Освоив эти методы, вы сможете эффективно манипулировать текстовыми данными и представлять их в своих приложениях Scala, улучшая читаемость и удобство использования.