Как добавить префикс к .attr ("href")? - PullRequest
0 голосов
/ 07 февраля 2019

Мне нужно добавить префиксную строку к моей ссылке, возвращаемой атрибутом "href".

.getElementsByClass(CLASS_OFFER_NAME)
.firstOrNull()
?.attr("href") // Here need I add prefix to attr href
.orEmpty()

Теперь я получаю URL, например: work / london / 22, но мне нужно добавить префикс с доменом, чтобы яхочу получить www.offerlist.com/work/london/22

1 Ответ

0 голосов
/ 07 февраля 2019

Может быть, вы можете преобразовать String? в Optional<T> и применить конкатенацию префиксов с помощью метода Optional.map и, наконец, извлечь полученное значение, используя orElse("") ...

Это функциональный подход кпроблема, но вы, очевидно, можете решить ее с помощью if или троичного или оператора Элвиса , примененного к значению, возвращенному orEmpty.

Если вам нравится функционалПодход, вы можете попробовать этот пример, который показывает как Optional и T?-> Дополнительные варианты использования:

fun <T> toOptional(value : T?) : Optional<T> {
    if(value == null) {
        return Optional.empty()
    }
    return Optional.of(value)
}

val opt:Optional<String> = Optional.empty()
println(opt.map { x -> "PREFIX/$x" }.orElse(""))
val opt2:Optional<String> = Optional.of("link")
println(opt2.map { x -> "PREFIX/$x" }.orElse(""))
var str : String? = null
println(toOptional(str).map { x -> "PREFIX/$x" }.orElse(""))
var str2  = "hrefValue"
println(toOptional(str2).map { x -> "PREFIX/$x" }.orElse(""))

Надеюсь, это поможет!

...