#apache-camel
#apache-camel
Вопрос:
Я считываю простое содержимое из файла, скажем, «80631». я проверяю его на соответствие регулярному выражению («^ d $»), чтобы проверить, что это просто цифры. Но проверка завершается неудачно. Когда я проверяю содержимое, прочитанное из файла, это что-то вроде «80631». Я попытался обрезать пробелы с помощью, но это не сработало. Есть ли у нас какой-либо другой способ обрезать пробелы?
<camel:setProperty propertyName="messageId">
<simple trim="true">${body}</simple>
</camel:setProperty>
Комментарии:
1. ${body.trim()}, предложенный Клаусом Ибсеном, сработал для меня. Спасибо.
Ответ №1:
Вероятно, вам следует показать код, чтобы получить лучшую помощь. Но <simple trim="true"> ... </simple>
обрезает вывод выражения.
Это не для обрезки тела сообщения.
Вам нужно заранее использовать преобразование сообщения, чтобы обрезать тело сообщения. Или напишите регулярное выражение, которое игнорирует начальные / конечные пробелы.
Комментарии:
1. Спасибо, Ибсен. это мой код <camel:setProperty propertyName=»MessageId»> <простая отделка =»true»>${body}</simple> </camel:setProperty> Когда я извлекаю значение свойства, в нем все еще есть пробелы.
2. Он обрезает пробелы,
<simple>
например, если вы разбиваете его на несколько строк. Вам нужно сделать${body.trim()}
, если тело имеет строковый тип, или${bodyAs(String).trim()}
если нет.