如何给 .attr("href") 添加前缀?

How to add prefix to .attr("href")?

我需要向我的 link 添加前缀字符串,由属性 "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

也许您可以将 String? 转换为 Optional<T> 并通过 Optional.map 方法应用前缀连接,最后使用 orElse("")...[=17 提取结果值=]

这是解决问题的函数式方法,但您显然可以通过 ifternaryelvis operator[=27= 来解决它] 应用于 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(""))

希望对您有所帮助!