fix equals() - 0.15
This commit is contained in:
28
src/main/kotlin/blitz/str/Escape.kt
Normal file
28
src/main/kotlin/blitz/str/Escape.kt
Normal file
@@ -0,0 +1,28 @@
|
||||
package blitz.str
|
||||
|
||||
fun unescape(str: String): String {
|
||||
val out = StringBuilder()
|
||||
var escaped = false
|
||||
|
||||
for (char in str) {
|
||||
if (escaped) {
|
||||
escaped = false
|
||||
val e = when (char) {
|
||||
'n' -> '\n'
|
||||
'r' -> '\r'
|
||||
't' -> '\t'
|
||||
'\\' -> '\\'
|
||||
'"' -> '"'
|
||||
'\'' -> '\''
|
||||
else -> error("Unexpected character '$char'")
|
||||
}
|
||||
out.append(e)
|
||||
} else if (char == '\\') {
|
||||
escaped = true
|
||||
} else {
|
||||
out.append(char)
|
||||
}
|
||||
}
|
||||
|
||||
return out.toString()
|
||||
}
|
Reference in New Issue
Block a user