Tengo un número de cadena que podría y podría no tener 2 o más caracteres al principio del número, y tal vez algunos caracteres que no sean letras o números.
Si son dos o más al principio, elimine los 2 primeros y limpie la cadena de caracteres que no sean letras o números.
Quiero detectar eso usando scala funcs o regex y limpiar esta cadena.
ejemplos:
"ABC12345" (después de la función) => "C12345"
"AB12345" (después de la función) => "12345"
"A12345" (después de la función) => "A12345"
"ABC1 23 +.4 5" (después de la función) => "C12345"
Respuestas
1 para la respuesta № 1Regex coincide con los caracteres que desea eliminar:
^[A-Z]{2}|[^A-Z0-9]
Coincide exactamente con dos letras al comienzo de la cadena o cualquier otra cosa que no sea [A-Z0-9]
.
Uso en Scala:
scala> val regex = """^[A-Z]{2}|[^A-Z0-9]""".r
regex: scala.util.matching.Regex = ^[A-Z]{2}|[^A-Z0-9]
scala> val ss = List("ABC12345", "A12345", "ABC1 23 +.4 5")
ss: List[String] = List(ABC12345, A12345, ABC1 23 +.4 5)
scala> ss.map(s => regex.replaceAllIn(s, ""))
res0: List[String] = List(C12345, A12345, C12345)