Представьте, что у вас есть строка, содержащая символ амперсанда, и моя цель - добавить пробелы между символом & и любым символом, если его нет
ex
Case 1: Body&Soul should be-->Body & Soul (working)
Case 2: Body &Soul--> Body & Soul (working)
Case 3: Body& Soul -->Body & Soul (working)
Case 4: Body&Soul&Mind -->Body & Soul & Mind (working)
Case 5: Body &Soul& Mind ---> Body & Soul & Mind (not working)
Case 6: Body& Soul &Mind ---> Body & Soul & Mind (not working)
def replaceEmployerNameContainingAmpersand(emplName: String): String
= {
val r = "(?<! )&(?! )".r.unanchored
val r2 = "&(?! )".r.unanchored
val r3 = "(?<! )&".r.unanchored
emplName match {
case r() => emplName.replaceAll("(?<! )&(?! )", " & ")
case r2() => emplName.replaceAll("&(?! )", "& ")
case r3() => emplName.replaceAll("(?<! )&", " &")
}
}
Цель состоит в том, чтобы исправить Случаи 5 и 6: Body &Soul& Mind
или Body& Soul &Mind
-> Body & Soul & Mind
Но это не работает, потому что, когда происходит случай 2 или 3, случай завершается и не соответствует второму &
символ.
Может ли кто-нибудь помочь мне в том, как сопоставить случаи 5 и 6?