#xquery
#xquery
Вопрос:
Я пытаюсь удалить ‘}{‘ с помощью ‘},{‘ в xquery:
fn:replace($text,'\}\{','\},\{')
и получение ошибки:
org.apache.xmlbeans.impl.regex.ParseException: Unexpected meta character
Комментарии:
1. пробовал: fn:replace($string1,'[\}\{]’,’},{‘)
2. получение из строки: string_1 }{ => string_1 },{},{ ожидаемый => string_1 },{
3. Это должна быть одна обратная косая черта, а не две. Но не забывайте, что XQuery 3.0 имеет флаг «q», который означает, что все символы представляют себя, экранирование не требуется.
4. спасибо за помощь, используя xquery 1.0, я опишу цель: я создаю json, получаю строку типа: {«x»:»y»}{«x»:»z»}{«x»:»a»} необходимы {«x»:»y»}, {«x»:»z»},{«x»:»a»}
5. входные данные могут включать 3 пробела, n , t ……
Ответ №1:
Кажется простым:
replace($text, '}{', '},{')
https://xqueryfiddle .liberty-development.net/nbUY4kv
Если между фигурными скобками могут быть пробелы, вы можете использовать
replace($text, '}s*{', '},{')
Комментарии:
1. привет, ваш пример, включающий нежелательный результат : ‘}’ —> ‘},{‘ , нужны только места с ‘}{‘ с /n, / t , пробелами между ними …. в результате ‘},{‘
2. Понятия не имею, где вы могли бы это получить, в xqueryfiddle. liberty-development.net/nbUY4kv/1 одна фигурная закрывающая скобка
}
не затронута.