XQuery: удаление символа новой строки / возврата из конца строки, хранящейся в переменной в запросе
Как мне удалить новую строку / возврат из конца переменной? Я старался functx:substring-before-last
попытаться удалить новую строку (обозначив ее как \r
, \n
а также как \r\n
) но все же, когда я вывожу значение этой переменной, новая строка все еще там.
2 ответа
Вы можете использовать fn:normalize-space($arg as xs:string?)
удалить все дополнительные пробелы:
Сводка: возвращает значение
$arg
с пробелами, нормализованными путем удаления начальных и конечных пробелов и замены последовательностей из одного или нескольких пробельных символов одним пробелом,#x20
,
Или вы можете просто использовать fn:replace(..)
и регулярное выражение:
fn:replace($string, '(\r?\n|\r)$', '')
CR и NL могут быть указаны как
а также
, Следующее регулярное выражение удалит все завершающие символы новой строки из вашей входной строки:
replace($string, '(
?
)*$', '')
Если вы хотите нормализовать все пробелы строки, normalize-string
это еще один, более читаемый вариант:
normalize-space($string)