У меня есть строка типа
Строка 1: abcdefgh{EID##00000000001234567890##EID}khkgfhjjh
Строка 2: qwertyuiop{EID##00000000001234567890##EID}asdaff
и я хочу вывод 1234567890, если EID##...##EID
присутствует в String1, если его нет, он будет искать в строке 2. Если его нет в обоих, результат будет 00000000
Но я могу использовать ТОЛЬКО язык Spring Expression.
Я пробовал что-то вроде:
${String1}.indexOf('EID##') != -1 AND ${String1}.indexOf('##EID') != -1 AND (${String1}.indexOf('##EID') - ${String1}.indexOf('EID##'))> 5
?
(${String1}.substring(${String1}.indexOf('EID##')+5,${String1}.indexOf('##EID'))).replaceAll("^0+", "")
:
(${String2}.indexOf('EID##') != -1 AND ${String2}.indexOf('##EID') != -1 AND (${String2}.indexOf('##EID') - ${String2}.indexOf('EID##'))> 5
?
(${String2}.substring(${String2}.indexOf('EID##')+5,${String2}.indexOf('##EID'))).replaceAll("^0+", "")
:
'0000000000')
Но проблема в том, что у меня ограничение на количество символов в 350. (Это 523 символа)
Есть ли более простой способ для этого?