Сравните две строки, такие как URL в Android - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть две строки:

http://porter.com/request/.*

и

http://porter.com/request/tokenId

Я хочу проверить, совпадают ли первые части: http://porter.com/request в обеих и проверить, не равен ли tokenId ноль, потому что в некоторых случаях это может быть только http://porter.com/request/. Я использую что-то вроде этого:

override fun validate(pair: Pair<URI, URI>): Boolean {
        val uri = pair.first.path.split("/").dropLast(1).filter { it.isNotBlank() }.joinToString("")
        val uriIntent = pair.second.path.split("/").dropLast(1).filter { it.isNotBlank() }.joinToString("")

        val asd = pair.second.path.split("/").filter { it.isNotBlank() }.last().isNotBlank()

        return uri == uriIntent && asd
    }

но это не работает в последнем случае: http://porter.com/request/ Есть идеи?

1 Ответ

0 голосов
/ 05 сентября 2018
final String regex = "(http://porter.com/request/).+";

/**
 * Below code will return false
 * since, URL doesn't have last path
 */
final String yourUrl = "http://porter.com/request/.*";
final boolean valid = yourUrl.matches(regex)

/**
 * Same (will return false), as ex. above
 */

final String yourUrl = "http://porter.com/request/*";
final boolean valid = yourUrl.matches(regex)

/**
 * This will return true. Link is Ok.
 */

final String yourUrl = "http://porter.com/request/tokenId";
final boolean valid = yourUrl.matches(regex)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...