RoboSwag/text-processing/README.md

37 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

text-processing
=====
### Общее описание
Модуль содержит функционал:
- Генерация "Replace" шаблона из регулярного выражения и возможность подстановки его в строку,
- Генерация Placeholder из регулярного выражения,
- Генерация маски для `EditText` из регулярного выражения и возможность его подстановки.
Модуль содержит класс `TextFormatter`, который в качестве аргумента принимает `String` в виде регулярного выражения.
* Функция `getFormattedText` - принимает входящий параметр в виде строки для форматирования, возвращает отформатированную строку,
* Функция `getPlaceholder` - возвращает Placeholder соответствующий регулярному выражению,
* Функция `getRegexReplace` - возвращает "Replace" шаблон регулярного выражения,
* Функция `mask` - принимает входящим параметром `EditText` и применяет к нему маску сгенерированую по регулярному выражению.
### Пример применения `textFormatter`
```kotlin
class MainActivity : Activity() {
/**
* replace шаблон - $1/$2
* placeholder - 12/34
* **/
private val textFormatter = TextFormatter("(\\d{2})\\/?(\\d{2})")
private lateinit var editText: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
editText = findViewById(R.id.editText)
editText.hint = textFormatter.getPlaceholder() //В результате placeholder будет 12/34
textFormatter.mask(editText) //Применение маски соответствующей регулярному выражению из textFormatter
}
}
```