如何从Kotlin中的字符串中删除所有分隔符?

如何从Kotlin中的字符串中删除所有分隔符?,kotlin,retrofit2,Kotlin,Retrofit2,我正在尝试清理二维码输出。 我试图通过改造发送的值是 01086819370066217621856423112169391721061310190603 但是OKHttp日志显示 example.com/endpoint/etc/&Qrcode=%1D010868193700666621762185642311216939%1D172106131020190603 当我使用此.trim()时。替换(“\u00D”,”) 如何删除这些不需要的字符?您可以在下面尝试仅从字符串中收集数字

我正在尝试清理二维码输出。 我试图通过改造发送的值是

01086819370066217621856423112169391721061310190603

但是OKHttp日志显示

example.com/endpoint/etc/&Qrcode=%1D010868193700666621762185642311216939%1D172106131020190603
当我使用此.trim()时。替换(“\u00D”,”)


如何删除这些不需要的字符?

您可以在下面尝试仅从字符串中收集数字

var result = string.filter { it.isDigit() }

您可以在下面尝试仅从字符串中收集数字

var result = string.filter { it.isDigit() }
这就解决了我的问题。 我把它转换成Kotlin的一个扩展,就像这样

val String.cleanTextContent: String
    get() {
        // strips off all non-ASCII characters
        var text = this
        text = text.replace("[^\\x00-\\x7F]".toRegex(), "")

        // erases all the ASCII control characters
        text = text.replace("[\\p{Cntrl}&&[^\r\n\t]]".toRegex(), "")

        // removes non-printable characters from Unicode
        text = text.replace("\\p{C}".toRegex(), "")
        return text.trim()
    }
这就解决了我的问题。 我把它转换成Kotlin的一个扩展,就像这样

val String.cleanTextContent: String
    get() {
        // strips off all non-ASCII characters
        var text = this
        text = text.replace("[^\\x00-\\x7F]".toRegex(), "")

        // erases all the ASCII control characters
        text = text.replace("[\\p{Cntrl}&&[^\r\n\t]]".toRegex(), "")

        // removes non-printable characters from Unicode
        text = text.replace("\\p{C}".toRegex(), "")
        return text.trim()
    }

您可以使用Kotlin的String.filter引用:您可以使用Kotlin的String.filter引用:此示例未显示,但我的输入可能包含a-zA-Z+-关于
答案的内容。替换(regex=“[^a-zA-z0-9]”,”)
请让我知道您需要支持的所有字符?是的,我考虑过并打算这样做,但是,就像我说的,它可能包含+-这些,我不知道你需要支持+-和-太rt?这个例子没有显示,但我的输入可能包含a-zA-Z+-关于
答案的内容。替换(regex=“[^a-zA-z0-9]”,”)
请让我知道你需要支持的所有字符是什么?是的,我考虑过,并且打算这样做,但是,就像我说的,它可能包含+-这些,我不知道你需要支持+和-太rt?