2013-07-09 43 views
5

Có thể thay thế nhiều giá trị trong mẫu FreeMarker không? Ví dụ, nếu tôi muốn thay thế "a" và "b" với "c", tôi phải làm điều này:FreeMarker? Thay thế nhiều giá trị

${event.EventTitle?replace('a','c')?replace('b','c')} 

nhưng tôi thà làm một cái gì đó như thế này:

${event.EventTitle?replace("'a','b'",'c')} 

Bất kỳ cơ hội nào của FreeMarker đều có khả năng này?

Cuối cùng tôi đang cố gắng thay thế tất cả các ký tự đặc biệt ($,., @, &, v.v.) bằng dấu gạch ngang, vì vậy vui lòng đề xuất cách dễ dàng hơn để thực hiện điều đó.

+0

Tôi đã đưa ra câu hỏi này. Khi bạn muốn thay thế các phần tử trong danh sách, bạn có thể sử dụng 'thay thế' bằng' danh sách' cùng nhau. –

+0

Sử dụng danh sách để thay thế? công việc vừa ý! – Sam

Trả lời

11

Bạn có thể sử dụng một biểu thức chính quy cho việc này:

${event.EnventTitle?replace('a|b', 'c', 'r')} 

Lưu ý 'r' ở cuối.

+0

''r'' là viết tắt của cụm từ thông dụng – Ram