❮ Phương thức chuỗi
Thí dụ
Tách một chuỗi thành một danh sách trong đó mỗi từ là một mục danh sách
txt = "chào mừng đến với khu rừng"
x = txt. tách ra[]
in[x]
Tự mình thử »Định nghĩa và cách sử dụng
Phương thức split[]
tách một chuỗi thành một danh sách
Bạn có thể chỉ định dấu phân cách, dấu phân cách mặc định là bất kỳ khoảng trắng nào
Ghi chú. Khi maxsplit được chỉ định, danh sách sẽ chứa số phần tử đã chỉ định cộng với một
cú pháp
chuỗi. tách [dấu phân cách, maxsplit]
Giá trị tham số
Tham sốMô tảdấu phân cáchTùy chọn. Chỉ định dấu tách để sử dụng khi tách chuỗi. Theo mặc định, mọi khoảng trắng đều là dấu phân cáchmaxsplitOptional. Chỉ định có bao nhiêu phần chia để làm. Giá trị mặc định là -1, là "tất cả các lần xuất hiện"Thêm ví dụ
Thí dụ
Tách chuỗi, sử dụng dấu phẩy, theo sau là khoảng trắng, làm dấu phân tách
txt = "xin chào, tôi tên là Peter, tôi 26 tuổi"
x = txt. tách ra[", "]
in[x]
Tự mình thử »Thí dụ
Sử dụng ký tự băm làm dấu phân cách
txt = "táo#chuối#anh đào#cam"
x = txt. tách ra["#"]
in[x]
Tự mình thử »Thí dụ
Tách chuỗi thành một danh sách có tối đa 2 mục
txt = "táo#chuối#anh đào#cam"
# đặt tham số maxsplit thành 1, sẽ trả về danh sách có 2 phần tử
x = txt. tách ["#", 1]
in[x]
Tự mình thử »❮ Phương thức chuỗi
Các phần dựng sẵn này hoạt động trên một giá trị trái chuỗi. Tuy nhiên, nếu giá trị bên trái là số hoặc ngày/giờ/ngày giờ hoặc boolean [kể từ 2. 3. 20], nó sẽ tự động chuyển đổi thành chuỗi theo các cài đặt định dạng số, ngày/giờ/ngày-thời gian và định dạng boolean hiện tại [là các trình định dạng tương tự được áp dụng khi chèn các giá trị như vậy với
8]
boolean
Chuỗi được chuyển đổi thành giá trị boolean. Chuỗi phải là
9 hoặc
${s} ${s?esc}0 [phân biệt chữ hoa chữ thường. ] hoặc phải ở định dạng được chỉ định bởi cài đặt
${s} ${s?esc}1
Nếu chuỗi không ở định dạng phù hợp, một lỗi sẽ hủy bỏ quá trình xử lý mẫu khi bạn cố gắng truy cập tích hợp sẵn này
cap_first
Chuỗi có từ đầu tiên của chuỗi được viết hoa. Để biết ý nghĩa chính xác của "từ", hãy xem. Thí dụ
Mẫu
${" green mouse"?cap_first} ${"GreEN mouse"?cap_first} ${"- green mouse"?cap_first}
Đầu ra
đầu ra
Green mouse GreEN mouse - green mouse
Trong trường hợp của
${s} ${s?esc}2, từ đầu tiên là
${s} ${s?esc}3
Lưu ý rằng điều này sử dụng chuyển đổi nhận biết ngôn ngữ, nghĩa là kết quả có thể khác nhau tùy thuộc vào
${s} ${s?esc}4 hiện tại [ngôn ngữ, quốc gia]
c [đối với giá trị chuỗi]
Ghi chú
${s} ${s?esc}5 tích hợp sẵn cũng hoạt động và
Ghi chú
Để cung cấp thông tin cơ bản, hãy xem Hướng dẫn dành cho tác giả mẫu/Khác/Định dạng dành cho người hoặc dành cho máy tính
Ghi chú
Các chuỗi hỗ trợ tích hợp
${s} ${s?esc}5 kể từ FreeMarker 2. 3. 32
Tích hợp sẵn này chuyển đổi một chuỗi thành chữ "ngôn ngữ máy tính", theo giá trị của
Đối với các
${s} ${s?esc}7-s được tích hợp trong FreeMarker, các quy tắc như sau
"JSON", "kế thừa". Cung cấp một chuỗi ký tự JSON, nghĩa là nó sẽ được bao quanh bởi dấu ngoặc kép [
${s} ${s?esc}
9] và sẽ được thoát bằng dấu gạch chéo ngược [R&D R&D
0] nếu cần. Để biết các quy tắc thoát chính xác, hãy xem"Javascript". Gần giống như JSON, nhưng sử dụng
R&D R&D
2 thay vìR&D R&D
3 nếu có thể. Để biết các quy tắc thoát chính xác, hãy xem , ngoại trừ điều này sẽ không thoát khỏi dấu nháy đơn [vì nó biết rằng nó đã sử dụng dấu ngoặc kép xung quanh chuỗi ký tự]"Java". Cung cấp một chuỗi ký tự Java, nghĩa là, nó sẽ được bao quanh bởi dấu ngoặc kép [
${s} ${s?esc}
9] và sẽ được thoát bằng dấu gạch chéo ngược [R&D R&D
0] khi cần. Để biết các quy tắc thoát chính xác, hãy xem"XS". Để nguyên chuỗi. Ý tưởng là bạn sẽ chèn giá trị dưới dạng phần thân của một phần tử XML hoặc vào một thuộc tính XML, vì vậy nó không cần trích dẫn hoặc bất kỳ cú pháp đặc biệt nào khác. Mặc dù nó cần mã hóa XML, nhưng điều đó phải được xử lý bởi cơ sở thoát tự động chứ không phải bởi cơ sở
${s} ${s?esc}
7
Nếu giá trị tích hợp sẵn
${s} ${s?esc}5 được áp dụng là
Green mouse GreEN mouse - green mouse00/thiếu, nó sẽ dừng quá trình xử lý mẫu có lỗi, giống như hầu hết các tích hợp sẵn khác. Thay vào đó, nếu bạn muốn xuất ra một
Green mouse GreEN mouse - green mouse00 chữ, hãy xem phần
cn [đối với giá trị chuỗi]
Điều này thực hiện tương tự như , nhưng khi được áp dụng trên ____5_______00/giá trị bị thiếu, nó sẽ xuất ra giá trị ____5_______00 theo. Xem thêm chi tiết về định dạng một
Green mouse GreEN mouse - green mouse00
c_lower_case
Chuỗi được chuyển đổi thành chữ thường, để sử dụng trên máy tính ["c" như trong ]. Nói một cách đơn giản, nó sẽ được chuyển thành chữ thường như trong tiếng Anh, bất kể
${s} ${s?esc}4 hiện tại [ngôn ngữ, quốc gia]. Ví dụ:
Green mouse GreEN mouse - green mouse10 sẽ là
Green mouse GreEN mouse - green mouse11, luôn luôn
Để chuyển đổi chữ thường cho tiêu dùng của con người, hãy sử dụng thay thế
c_upper_case
Chuỗi được chuyển đổi thành chữ hoa, để sử dụng trên máy tính ["c" như trong ]. Nói một cách đơn giản, nó sẽ được chuyển thành chữ hoa như trong tiếng Anh, bất kể
${s} ${s?esc}4 hiện tại [ngôn ngữ, quốc gia]. Ví dụ:
Green mouse GreEN mouse - green mouse15 sẽ là
Green mouse GreEN mouse - green mouse16, luôn luôn
Đối với chuyển đổi chữ hoa cho tiêu dùng của con người, hãy sử dụng thay thế
viết hoa
Chuỗi có tất cả các từ được viết hoa. Để biết ý nghĩa chính xác của "từ", hãy xem. Thí dụ
Mẫu
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
Đầu ra
đầu ra
Green Mouse Green Mouse
chop_linebreak
Trả về chuỗi không có phần cuối nếu có ngắt dòng, nếu không thì chuỗi không thay đổi. Nếu chuỗi kết thúc bằng nhiều lần ngắt dòng thì chỉ ngắt dòng cuối cùng bị xóa
chứa đựng
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 1. Nó không tồn tại trong 2. 3
Trả về nếu chuỗi con được chỉ định làm tham số cho tích hợp sẵn này xảy ra trong chuỗi. Ví dụ
Mẫu
It contains "ice"
Điều này sẽ xuất ra
đầu ra
It contains "ice"
ngày, giờ, ngày giờ
Giá trị chuỗi được chuyển đổi thành giá trị ngày, giờ hoặc ngày giờ. Nó sẽ mong đợi định dạng được chỉ định bởi. Nếu chuỗi không ở định dạng phù hợp, một lỗi sẽ hủy bỏ quá trình xử lý mẫu khi bạn cố gắng truy cập tích hợp sẵn này
Mẫu
Bạn cũng có thể chỉ định định dạng một cách rõ ràng như
Green mouse GreEN mouse - green mouse21 [và do đó cũng là
Green mouse GreEN mouse - green mouse22] hoặc
Green mouse GreEN mouse - green mouse23; . Định dạng cũng có thể được chỉ định tương tự với
Green mouse GreEN mouse - green mouse24 và
Green mouse GreEN mouse - green mouse25. Để biết cú pháp và ý nghĩa của các giá trị định dạng, hãy xem các giá trị có thể có của. Thí dụ
Mẫu
Để tránh hiểu lầm, giá trị bên trái không cần phải là một chuỗi ký tự. Ví dụ: khi bạn đọc dữ liệu từ XML DOM [từ đó tất cả các giá trị đến dưới dạng chuỗi chưa phân tích cú pháp], bạn có thể thực hiện những việc như
Green mouse GreEN mouse - green mouse29 để chuyển đổi giá trị chuỗi thành ngày thực
Tất nhiên, định dạng cũng có thể là một biến, như trong
Green mouse GreEN mouse - green mouse30
Lưu ý rằng kể từ 2. 3. 24, các phần dựng sẵn này cũng có thể được gọi với 0 đối số, như
Green mouse GreEN mouse - green mouse31. Nó gần giống như chỉ viết
Green mouse GreEN mouse - green mouse24. Sự khác biệt là kỹ thuật cao và hiếm khi quan trọng.
Green mouse GreEN mouse - green mouse31 và như vậy trả về chính xác cùng một đối tượng Java mà trình phân tích cú pháp ngày [triển khai _______5_______34] trả về, trong khi
Green mouse GreEN mouse - green mouse24 không có
Green mouse GreEN mouse - green mouse36 trả về một giá trị trình bao phức tạp là một ngày và một phương thức và hàm băm cùng một lúc
kết_với
Trả về xem chuỗi này có kết thúc bằng chuỗi con được chỉ định trong tham số hay không. Ví dụ:
Green mouse GreEN mouse - green mouse37 trả về boolean
9. Ngoài ra,
Green mouse GreEN mouse - green mouse39 sẽ trả về
9
ensure_ends_with
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 21
Nếu chuỗi không kết thúc bằng chuỗi con được chỉ định làm tham số thứ nhất, nó sẽ thêm nó vào sau chuỗi, nếu không, nó sẽ trả về chuỗi ban đầu. Ví dụ: cả
Green mouse GreEN mouse - green mouse41 và
Green mouse GreEN mouse - green mouse42 đều trả về
Green mouse GreEN mouse - green mouse43
ensure_starts_with
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 21
Nếu chuỗi không bắt đầu bằng chuỗi con được chỉ định làm tham số thứ nhất, nó sẽ thêm nó trước chuỗi, nếu không, nó sẽ trả về chuỗi ban đầu. Ví dụ: cả
Green mouse GreEN mouse - green mouse44 và
Green mouse GreEN mouse - green mouse45 đều trả về
Green mouse GreEN mouse - green mouse46
Nếu bạn chỉ định hai tham số, thì tham số thứ nhất được hiểu là biểu thức chính quy Java và nếu nó không khớp với phần đầu của chuỗi, thì chuỗi được chỉ định làm tham số thứ 2 sẽ được thêm vào trước chuỗi. Ví dụ:
Green mouse GreEN mouse - green mouse47 sẽ kiểm tra xem chuỗi có bắt đầu bằng thứ gì đó khớp với
Green mouse GreEN mouse - green mouse48 hay không [lưu ý rằng không cần
Green mouse GreEN mouse - green mouse49] và nếu không, nó sẽ thêm vào trước
Green mouse GreEN mouse - green mouse50
Phương pháp này cũng chấp nhận một thứ 3. Khi gọi với 2 tham số ngụ ý
Green mouse GreEN mouse - green mouse51 ở đó [i. e. , chế độ biểu thức chính quy], bạn hiếm khi cần điều này. Một trường hợp đáng chú ý là khi bạn không muốn tham số thứ nhất được hiểu là biểu thức chính quy, chỉ ở dạng văn bản thuần túy, nhưng bạn muốn so sánh không phân biệt chữ hoa chữ thường, trong trường hợp đó, bạn sẽ sử dụng
Green mouse GreEN mouse - green mouse52 làm tham số thứ 3
thoát
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 24
Thoát giá trị bằng hiện tại và ngăn tự động thoát giá trị được trả về [để tránh thoát kép]. Do tự động thoát, bạn thường chỉ cần điều này khi tự động thoát bị tắt
Mẫu
${s} ${s?esc}
đầu ra
R&D R&D
Trong các mẫu, nơi tự động thoát được bật, việc sử dụng nó là không cần thiết
Mẫu
Green mouse GreEN mouse - green mouse0
đầu ra
Green mouse GreEN mouse - green mouse1
Tính năng tích hợp sẵn này hoạt động bằng cách chuyển đổi giá trị chuỗi thành a , bằng cách thoát chuỗi bằng định dạng đầu ra hiện tại và sử dụng kết quả làm đánh dấu. Giá trị đầu ra đánh dấu kết quả thuộc về định dạng đầu ra hiện tại tại thời điểm gọi
Tính năng tích hợp sẵn này cũng có thể được áp dụng cho các giá trị đầu ra đánh dấu, giá trị này sẽ bỏ qua mà không thay đổi, miễn là giá trị đầu ra đánh dấu đầu vào thuộc về định dạng đầu ra hiện tại. Nếu không, thì đánh dấu phải được chuyển đổi sang định dạng đầu ra hiện tại [kể từ 2. 3. 24] sẽ chỉ thành công nếu giá trị đó được tạo bằng cách thoát khỏi văn bản thuần túy [thường là với
Green mouse GreEN mouse - green mouse53]
Không thể sử dụng tích hợp sẵn này khi định dạng đầu ra hiện tại là một. Một nỗ lực để làm như vậy sẽ gây ra một
Tích hợp sẵn này không liên quan đến các chỉ thị
Green mouse GreEN mouse - green mouse54 và
Green mouse GreEN mouse - green mouse55 không dùng nữa. Trên thực tế, trình phân tích cú pháp sẽ ngăn việc sử dụng chúng ở cùng một nơi để tránh nhầm lẫn
các nhóm
Điều này chỉ được sử dụng với kết quả của
Green mouse GreEN mouse - green mouse56 tích hợp. Thấy
html [không dùng nữa]
Ghi chú
Tính năng tích hợp sẵn này không được dùng nữa bởi cơ chế thoát tự động được giới thiệu trong 2. 3. 24. Để tránh thoát kép và nhầm lẫn nói chung, sử dụng tính năng tích hợp sẵn này ở những nơi đang kích hoạt tính năng thoát tự động. Để giúp di chuyển, tích hợp này âm thầm bỏ qua HTML mà không thay đổi chúng
Chuỗi dưới dạng đánh dấu HTML. Đó là, chuỗi với tất cả
Green mouse GreEN mouse - green mouse
57 được thay thế bằngGreen mouse GreEN mouse - green mouse
58Green mouse GreEN mouse - green mouse
59 được thay thế bằngGreen mouse GreEN mouse - green mouse
60Green mouse GreEN mouse - green mouse
61 được thay thế bằngGreen mouse GreEN mouse - green mouse
62${s} ${s?esc}
9 được thay thế bằngGreen mouse GreEN mouse - green mouse
64Green mouse GreEN mouse - green mouse
65 được thay thế bằngGreen mouse GreEN mouse - green mouse
66 nếu lập trình viên phải 2. 3. 24 hoặc cao hơn [cũng như nếu nó được đặt thành 2. 3. 20 trở lên và bạn ở bên ngoài một chuỗi ký tự]. Nếu không,Green mouse GreEN mouse - green mouse
65 sẽ không được thay thế, vì vậy bạn phải sử dụng dấu ngoặc kép [${s} ${s?esc}
9, không phảiGreen mouse GreEN mouse - green mouse
65] để trích dẫn các giá trị thuộc tính mà bạn muốn chèn giá trị một cách an toàn
Mẫu
Green mouse GreEN mouse - green mouse2
Cảnh báo
Khi chèn giá trị của một thuộc tính, luôn trích dẫn nó, nếu không nó có thể bị kẻ tấn công lợi dụng. Cái này sai.
Green mouse GreEN mouse - green mouse71. cái này tốt.
Green mouse GreEN mouse - green mouse72
Lưu ý rằng trong các trang HTML, thông thường bạn muốn sử dụng tính năng tích hợp này cho tất cả các phép nội suy. Bạn có thể tiết kiệm được nhiều thời gian đánh máy và giảm bớt khả năng mắc lỗi do vô tình bằng cách sử dụng chỉ thị
Green mouse GreEN mouse - green mouse54
Chỉ số
Trả về chỉ mục trong chuỗi này của lần xuất hiện đầu tiên của chuỗi con đã chỉ định. Ví dụ:
Green mouse GreEN mouse - green mouse74 sẽ trả về 1 [đừng quên rằng chỉ số của ký tự đầu tiên là 0]. Ngoài ra, bạn có thể chỉ định chỉ mục để bắt đầu tìm kiếm từ.
Green mouse GreEN mouse - green mouse75 sẽ trả về 4. Không có hạn chế về giá trị số của tham số thứ hai. nếu nó âm, nó có tác dụng tương tự như thể nó bằng 0 và nếu nó lớn hơn độ dài của chuỗi này, nó có tác dụng tương tự như khi nó bằng độ dài của chuỗi này. Giá trị thập phân sẽ được cắt bớt thành số nguyên
Nếu tham số thứ nhất không xuất hiện dưới dạng chuỗi con trong chuỗi này [bắt đầu từ chỉ mục đã cho, nếu bạn sử dụng tham số thứ hai], thì nó sẽ trả về -1
j_string
Thoát chuỗi bằng các quy tắc thoát của chuỗi ký tự ngôn ngữ Java, vì vậy sẽ an toàn khi chèn giá trị vào chuỗi ký tự. Lưu ý rằng nó sẽ không thêm dấu ngoặc kép xung quanh giá trị được chèn;
Tất cả các ký tự dưới điểm mã 0x20 sẽ được thoát. Khi chúng không có trình tự thoát riêng trong ngôn ngữ Java [như
Green mouse GreEN mouse - green mouse76,
Green mouse GreEN mouse - green mouse77, v.v. ], chúng sẽ được thay thế bằng một lối thoát UNICODE [
R&D R&D3]
Thí dụ
Mẫu
Green mouse GreEN mouse - green mouse3
sẽ xuất
đầu ra
Green mouse GreEN mouse - green mouse4
js_string
Thoát khỏi chuỗi bằng các quy tắc thoát của chuỗi ký tự ngôn ngữ JavaScript, vì vậy sẽ an toàn khi chèn giá trị vào chuỗi ký tự. Lưu ý rằng nó sẽ không thêm dấu ngoặc kép xung quanh giá trị được chèn;
Cảnh báo
Khi chèn vào một ký tự chuỗi ký tự JavaScript bên trong thuộc tính HTML, bạn cũng phải thoát giá trị bằng cách thoát HTML. Do đó, bạn không có thoát HTML tự động, điều này là SAI.
Green mouse GreEN mouse - green mouse79, và điều này thật tuyệt.
Green mouse GreEN mouse - green mouse80
Thí dụ
Mẫu
Green mouse GreEN mouse - green mouse5
sẽ xuất
đầu ra
Green mouse GreEN mouse - green mouse6
Các quy tắc thoát chính xác là
${s} ${s?esc}
9 được thoát thànhGreen mouse GreEN mouse - green mouse
82Green mouse GreEN mouse - green mouse
65 được thoát thànhGreen mouse GreEN mouse - green mouse
84R&D R&D
0 được thoát thànhGreen mouse GreEN mouse - green mouse
86Green mouse GreEN mouse - green mouse
87 được thoát dưới dạngGreen mouse GreEN mouse - green mouse
88 nếuGreen mouse GreEN mouse - green mouse
87 ở ngay sauGreen mouse GreEN mouse - green mouse
57 trong chuỗi đã thoát hoặc nếu nó ở đầu chuỗi đã thoátGreen mouse GreEN mouse - green mouse
59 được thoát làGreen mouse GreEN mouse - green mouse
92 nếuGreen mouse GreEN mouse - green mouse
59 ngay sauGreen mouse GreEN mouse - green mouse
94 hoặcGreen mouse GreEN mouse - green mouse
95 trong chuỗi thoát hoặc nếu nó ở đầu chuỗi thoát hoặc nếu chỉ có mộtGreen mouse GreEN mouse - green mouse
96 hoặc${s} ${s?esc}
3 trước nó ở đầu chuỗi thoátGreen mouse GreEN mouse - green mouse
57 được thoát dưới dạngGreen mouse GreEN mouse - green mouse
99 nếu theo sau nó là${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
00 hoặc${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
01 trong chuỗi đã thoát hoặc nếu nó ở cuối chuỗi đã thoátCác ký tự điều khiển trong phạm vi điểm mã U+0000. U+001f và U+007f. U+009f được thoát dưới dạng
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
02,Green mouse GreEN mouse - green mouse
76, v.v. hoặc nhưR&D R&D
2 khi không có lối thoát đặc biệt nào cho chúng trong JavaScriptCác ký tự điều khiển có điểm mã U+2028 [Dòng phân cách] và U+2029 [Dấu phân cách đoạn văn] được thoát dưới dạng
R&D R&D
3, vì chúng là các ngắt dòng mã nguồn trong ECMAScript
json_string
Thoát khỏi chuỗi bằng các quy tắc thoát của chuỗi ký tự ngôn ngữ JSON, vì vậy sẽ an toàn khi chèn giá trị vào chuỗi ký tự. Lưu ý rằng nó sẽ không thêm dấu ngoặc kép xung quanh giá trị được chèn;
Điều này sẽ không thoát khỏi
Green mouse GreEN mouse - green mouse65 ký tự, vì các chuỗi JSON phải được trích dẫn bằng
${s} ${s?esc}9
Các quy tắc thoát gần giống với các quy tắc. Sự khác biệt là
Green mouse GreEN mouse - green mouse65 hoàn toàn không được thoát, rằng
Green mouse GreEN mouse - green mouse59 được thoát thành
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}11 [không phải là
Green mouse GreEN mouse - green mouse92] và rằng các lần thoát
R&D R&D3 được sử dụng thay vì các lần thoát
R&D R&D2
giữ_sau
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 21
Loại bỏ phần của chuỗi không xuất hiện sau lần xuất hiện đầu tiên của chuỗi con đã cho. Ví dụ
Mẫu
Green mouse GreEN mouse - green mouse7
sẽ in
đầu ra
Green mouse GreEN mouse - green mouse8
Nếu không tìm thấy chuỗi tham số sẽ trả về chuỗi rỗng. Nếu chuỗi tham số là chuỗi có độ dài 0, nó sẽ trả về chuỗi ban đầu không thay đổi
Phương thức này chấp nhận một tùy chọn, làm tham số thứ 2 của nó
Mẫu
Green mouse GreEN mouse - green mouse9
sẽ in
đầu ra
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}0
keep_after_last
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 22
Giống như , nhưng giữ phần sau lần xuất hiện cuối cùng của tham số, thay vì sau lần xuất hiện đầu tiên. Thí dụ
Mẫu
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}1
sẽ in
đầu ra
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}2
trong khi với
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}15 bạn sẽ nhận được
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}17
giữ_trước
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 21
Xóa phần của chuỗi bắt đầu bằng chuỗi con đã cho. Ví dụ
Mẫu
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}3
sẽ in
đầu ra
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}4
Nếu không tìm thấy chuỗi tham số sẽ trả về chuỗi ban đầu không thay đổi. Nếu chuỗi tham số là chuỗi có độ dài 0, nó sẽ trả về một chuỗi rỗng
Phương thức này chấp nhận một tùy chọn, làm tham số thứ 2 của nó
Mẫu
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}5
sẽ in
đầu ra
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}6
keep_b Before_last
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 22
Tương tự như , nhưng giữ phần trước lần xuất hiện cuối cùng của tham số, thay vì sau lần xuất hiện đầu tiên. Thí dụ
Mẫu
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}7
sẽ in
đầu ra
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}8
trong khi với
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}18 bạn sẽ nhận được
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}20
last_index_of
Trả về chỉ mục trong chuỗi này của lần xuất hiện cuối cùng [ngoài cùng bên phải] của chuỗi con đã chỉ định. Nó trả về chỉ số của ký tự đầu tiên [ngoài cùng bên trái] của chuỗi con. Ví dụ.
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}21 sẽ trả về 3. Ngoài ra, bạn có thể chỉ định chỉ mục để bắt đầu tìm kiếm từ. Ví dụ,
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}22 sẽ trả về 0. Lưu ý rằng tham số thứ hai cho biết chỉ số tối đa của phần đầu của chuỗi con. Không có hạn chế về giá trị số của tham số thứ hai. nếu nó âm, nó có tác dụng tương tự như thể nó bằng 0 và nếu nó lớn hơn độ dài của chuỗi này, nó có tác dụng tương tự như khi nó bằng độ dài của chuỗi này. Giá trị thập phân sẽ được cắt bớt thành số nguyên
Nếu tham số thứ nhất không xuất hiện dưới dạng chuỗi con trong chuỗi này [trước chỉ mục đã cho, nếu bạn sử dụng tham số thứ hai], thì nó sẽ trả về -1
left_pad
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 1
Nếu nó được sử dụng với 1 tham số, thì nó sẽ chèn khoảng trắng vào đầu chuỗi cho đến khi đạt đến độ dài được chỉ định làm tham số. Nếu chuỗi đã dài hoặc dài hơn độ dài đã chỉ định thì không có gì. Ví dụ, điều này
Mẫu
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}9
sẽ xuất cái này
đầu ra
Green Mouse Green Mouse0
Nếu nó được sử dụng với 2 tham số, thì tham số thứ nhất có nghĩa giống như khi bạn đang sử dụng tích hợp sẵn chỉ với 1 tham số và tham số thứ hai chỉ định nội dung cần chèn thay vì ký tự khoảng trắng. Ví dụ
Mẫu
Green Mouse Green Mouse1
sẽ xuất cái này
đầu ra
Green Mouse Green Mouse2
Tham số thứ 2 có thể là một chuỗi có độ dài lớn hơn 1. Sau đó, chuỗi sẽ được chèn định kỳ, ví dụ
Mẫu
Green Mouse Green Mouse3
sẽ xuất cái này
đầu ra
Green Mouse Green Mouse4
Tham số thứ 2 phải là một giá trị chuỗi và phải dài ít nhất 1 ký tự
chiều dài
Số ký tự trong chuỗi
chữ thường
Phiên bản chữ thường của chuỗi, sử dụng các quy tắc phụ thuộc vào
${s} ${s?esc}4 hiện tại [ngôn ngữ, quốc gia]. Ví dụ:
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}24 sẽ là
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}25 ở hầu hết các ngôn ngữ, nhưng sẽ là
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}26 ở ngôn ngữ Thổ Nhĩ Kỳ [
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}27] [lưu ý dấu chấm bị thiếu phía trên một số chữ "i"]
Để chuyển đổi sang chữ thường cho việc sử dụng máy tính [trái ngược với tiêu dùng của con người], hãy sử dụng thay thế
diêm
Đây là một "power user" được tích hợp sẵn. Bỏ qua nếu bạn không biết
Tính năng tích hợp này xác định xem chuỗi có khớp chính xác với mẫu hay không. Ngoài ra, nó trả về danh sách các chuỗi con phù hợp. Giá trị trả về là một giá trị đa loại
Boolean.
${s} ${s?esc}
0. Ví dụ:${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
31 là${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
33 là${s} ${s?esc}
0Sự liên tiếp. danh sách các chuỗi con phù hợp của chuỗi. Có thể là một chuỗi độ dài 0
Ví dụ
Mẫu
Green Mouse Green Mouse5
sẽ in
đầu ra
Green Mouse Green Mouse6
Nếu biểu thức chính quy chứa các nhóm [dấu ngoặc đơn], thì bạn có thể truy cập chúng bằng hàm tích hợp sẵn
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}35
Mẫu
Green Mouse Green Mouse7
Điều này sẽ in
đầu ra
Green Mouse Green Mouse8
Lưu ý về hành vi của
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}35 tích hợp
Nó hoạt động cả với khớp chuỗi con và với kết quả khớp toàn bộ chuỗi [như được hiển thị trong ví dụ trên]
Mục đầu tiên trong chuỗi mà
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
35 trả về là toàn bộ chuỗi con khớp với biểu thức chính quy. Do đó, chỉ số của nhóm biểu thức chính quy rõ ràng đầu tiên [hay nói cách khác, của${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
38 đầu tiên trong biểu thức chính quy] là 1 chứ không phải 0. Ngoài ra, vì điều này, kích thước của chuỗi nhiều hơn số nhóm biểu thức chính quy rõ ràngKích thước của chuỗi được trả về bởi
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
35 chỉ phụ thuộc vào số nhóm rõ ràng trong biểu thức chính quy và do đó, nó sẽ giống nhau [khác 0] ngay cả khi không tìm thấy kết quả khớp cho biểu thức chính quy. Cố gắng truy cập một mục của chuỗi [như trong${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
40] khi đã khớp sẽ gây ra lỗi. Vì vậy, trước khi truy cập các nhóm, bạn phải luôn kiểm tra xem có bất kỳ sự trùng khớp nào không [như trong${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
41]Khi có sự khớp với biểu thức chính quy, nhưng không khớp với một nhóm rõ ràng nhất định bên trong biểu thức chính quy, thì đối với nhóm đó, chuỗi sẽ chứa chuỗi có độ dài 0. Vì vậy, việc truy cập vào một nhóm không khớp với gì là an toàn, miễn là biểu thức chính quy chứa khớp với một cái gì đó
Green mouse GreEN mouse - green mouse56 chấp nhận tham số thứ 2 tùy chọn,. Lưu ý rằng nó không hỗ trợ cờ
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}43 và bỏ qua cờ
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44
no_esc
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 24
Ngăn chặn tự động thoát của một giá trị. Ví dụ
Mẫu
Green Mouse Green Mouse9
đầu ra
It contains "ice"0
Điều này hoạt động bằng cách chuyển đổi giá trị chuỗi thành a , sử dụng chuỗi làm đánh dấu như hiện tại và thuộc về hiện tại tại điểm gọi
Tính năng tích hợp sẵn này cũng có thể được áp dụng cho các giá trị đầu ra đánh dấu, giá trị này sẽ bỏ qua mà không thay đổi, miễn là giá trị đầu ra đánh dấu đầu vào thuộc về định dạng đầu ra hiện tại. Nếu không, thì đánh dấu phải được chuyển đổi sang định dạng đầu ra hiện tại [kể từ 2. 3. 24] sẽ chỉ thành công nếu giá trị đó được tạo bằng cách thoát khỏi văn bản thuần túy [thường là với
Green mouse GreEN mouse - green mouse53]
Không thể sử dụng tích hợp sẵn này khi định dạng đầu ra hiện tại là một. Một nỗ lực để làm như vậy sẽ gây ra một
Tích hợp sẵn này không liên quan đến các chỉ thị
Green mouse GreEN mouse - green mouse54 và
Green mouse GreEN mouse - green mouse55 không dùng nữa. Trên thực tế, trình phân tích cú pháp sẽ ngăn việc sử dụng chúng ở cùng một nơi để tránh nhầm lẫn
số
Chuỗi được chuyển đổi thành giá trị số. Số phải ở định dạng "ngôn ngữ máy tính". Nghĩa là, nó phải ở dạng độc lập ngôn ngữ, trong đó dấu phân cách thập phân là dấu chấm và không có nhóm
Phần tích hợp này nhận dạng các số ở định dạng mà ngôn ngữ mẫu FreeMarker sử dụng. Ngoài ra, nó công nhận ký hiệu khoa học [e. g.
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}48,
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}49]. Kể từ FreeMarker 2. 3. 21, nó cũng nhận ra tất cả các định dạng số Lược đồ XML, như
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}50,
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}51,
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}52, cộng với các định dạng gốc Java
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}53 và
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}54
Nếu chuỗi không ở định dạng phù hợp, một lỗi sẽ hủy bỏ quá trình xử lý mẫu khi bạn cố gắng truy cập tích hợp sẵn này
Trên thực tế, chuỗi được phân tích cú pháp bằng phương pháp ${" green mouse"?capitalize}
${"GreEN mouse"?capitalize}
55 của ${" green mouse"?capitalize}
${"GreEN mouse"?capitalize}
56 hiện tại, đây là cài đặt cấu hình. Tuy nhiên, phương pháp đó sẽ hoạt động tương tự như mô tả ở trên
thay thế
Nó được sử dụng để thay thế tất cả các lần xuất hiện của một chuỗi trong chuỗi ban đầu bằng một chuỗi khác. Nó không đối phó với ranh giới từ. Ví dụ
Mẫu
It contains "ice"1
sẽ in
đầu ra
It contains "ice"2
Việc thay thế diễn ra theo thứ tự từ trái sang phải. Điều này có nghĩa là điều này
Mẫu
It contains "ice"3
sẽ in
đầu ra
It contains "ice"4
Nếu tham số đầu tiên là một chuỗi rỗng, thì tất cả các lần xuất hiện của chuỗi rỗng sẽ được thay thế, chẳng hạn như
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}57 sẽ ước tính thành
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}58
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}59 chấp nhận tùy chọn , làm tham số thứ 3 của nó
bàn phím bên phải
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 1. Nó không tồn tại trong 2. 3
Điều này giống như , nhưng nó chèn các ký tự vào cuối chuỗi thay vì đầu chuỗi
Thí dụ
Mẫu
It contains "ice"5
Điều này sẽ xuất ra điều này
đầu ra
It contains "ice"6
xóa_bắt đầu
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 21
Xóa chuỗi con tham số khỏi đầu chuỗi hoặc trả về chuỗi gốc nếu nó không bắt đầu bằng chuỗi con tham số. Ví dụ
Mẫu
It contains "ice"7
sẽ in
đầu ra
It contains "ice"8
remove_ending
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 21
Xóa chuỗi con tham số khỏi phần cuối của chuỗi hoặc trả về chuỗi gốc nếu nó không kết thúc bằng chuỗi con tham số. Ví dụ
Mẫu
It contains "ice"9
sẽ in
đầu ra
It contains "ice"0
rtf [không dùng nữa]
Ghi chú
Tính năng tích hợp sẵn này không được dùng nữa bởi cơ chế thoát tự động được giới thiệu trong 2. 3. 24. Để tránh thoát kép và nhầm lẫn nói chung, sử dụng tính năng tích hợp sẵn này ở những nơi đang kích hoạt tính năng thoát tự động. Để giúp di chuyển, tích hợp này âm thầm bỏ qua RTF mà không thay đổi chúng
Chuỗi ở dạng văn bản có định dạng [văn bản RTF]. Đó là, chuỗi với tất cả
R&D R&D
0 được thay thế bằngGreen mouse GreEN mouse - green mouse
86${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
63 được thay thế bằng${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
64${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
65 được thay thế bằng${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
66
tách ra
Nó được sử dụng để tách một chuỗi thành một chuỗi các chuỗi dọc theo các lần xuất hiện của chuỗi khác. Ví dụ
Mẫu
It contains "ice"1
sẽ in
đầu ra
It contains "ice"2
Lưu ý rằng giả định rằng tất cả các lần xuất hiện của dấu phân cách đều ở trước một mục mới [ngoại trừ cờ
Green mouse GreEN mouse - green mouse51 - xem sau], do đó
Mẫu
It contains "ice"3
sẽ in
đầu ra
It contains "ice"4
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}68 chấp nhận một tùy chọn , là tham số thứ 2 của nó. Có một trục trặc lịch sử với cờ
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44 [cụm từ thông dụng];
Nếu tham số đầu tiên là một chuỗi rỗng, chuỗi sẽ được chia thành các ký tự [kể từ FreeMarker 2. 3. 28 - trước đó điều này chỉ hoạt động với cờ
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44]
Ghi chú
Để kiểm tra xem một chuỗi có kết thúc bằng thứ gì đó hay không và nối thêm chuỗi khác, hãy sử dụng
bắt đầu với
Trả về nếu chuỗi này bắt đầu bằng chuỗi con đã chỉ định. Ví dụ:
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}74 trả về giá trị boolean
9. Ngoài ra,
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}76 sẽ trả về
9
Ghi chú
Để kiểm tra xem một chuỗi có bắt đầu bằng thứ gì đó hay không và thêm vào trước nó, hãy sử dụng
chuỗi [khi được sử dụng với giá trị chuỗi]
Không làm gì cả, chỉ trả về chuỗi nguyên trạng. Ngoại lệ là nếu giá trị là một giá trị đa loại [e. g. nó là cả chuỗi và chuỗi cùng một lúc], thì giá trị kết quả sẽ chỉ là một chuỗi đơn giản, không phải là giá trị nhiều loại. Điều này có thể được sử dụng để ngăn chặn các tạo tác của đa gõ
chuỗi con [không dùng nữa]
Ghi chú
Tính năng tích hợp này không được dùng nữa kể từ FreeMarker 2. 3. 21 bởi , như
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}79,
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}80 và
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}81
Một cảnh báo nếu bạn đang xử lý XML. Vì các biểu thức cắt lớp hoạt động cho cả chuỗi và chuỗi và do các nút XML thường là cả chuỗi và chuỗi cùng một lúc, nên biểu thức tương đương là
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}82 và
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}83, vì nếu không có
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}84, nó sẽ cắt chuỗi nút thay vì giá trị văn bản của
Ghi chú
Một số trường hợp sử dụng điển hình của việc cắt chuỗi được bao phủ bởi các tiện ích tích hợp sẵn. , , , , , , , , , ,
Tóm tắt.
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}91, cũng có thể gọi là
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}92
Một chuỗi con của chuỗi.
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}93 là chỉ số của ký tự đầu tiên. Nó phải là một số ít nhất là 0 và nhỏ hơn hoặc bằng với
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}94, nếu không, một lỗi sẽ hủy bỏ quá trình xử lý mẫu.
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}94 là chỉ mục của vị trí ký tự sau ký tự cuối cùng của chuỗi con, hay nói cách khác, nó lớn hơn chỉ mục của ký tự cuối cùng một bậc. Nó phải là một số ít nhất là 0 và nhỏ hơn hoặc bằng độ dài của chuỗi, nếu không, một lỗi sẽ hủy bỏ quá trình xử lý mẫu. Nếu bỏ qua
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}94, thì nó sẽ mặc định là độ dài của chuỗi. Nếu tham số là một số không phải là số nguyên thì chỉ phần nguyên của số đó sẽ được sử dụng
Thí dụ
Mẫu
It contains "ice"5
Đầu ra
đầu ra
It contains "ice"6
cắt tỉa
Chuỗi không có khoảng trắng ở đầu và cuối. Thí dụ
Mẫu
It contains "ice"7
Đầu ra
đầu ra
It contains "ice"8
cắt bớt, cắt ngắn_
Cắt bỏ phần cuối của chuỗi nếu điều đó là cần thiết để giữ nó dưới độ dài đã cho làm tham số và nối thêm chuỗi kết thúc [
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}97 theo mặc định] để chỉ ra rằng chuỗi đã bị cắt bớt. Ví dụ [giả sử cài đặt cấu hình FreeMarker mặc định]
Mẫu
It contains "ice"9
đầu ra
0
Những điều cần lưu ý ở trên
Chuỗi được trả về nếu độ dài của nó không vượt quá độ dài đã chỉ định [16 trong trường hợp này]
Khi chuỗi vượt quá độ dài đó, phần cuối của nó bị cắt theo cách sao cho cùng với chuỗi kết thúc được thêm vào [
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
97 ở đây], chiều dài của nó sẽ không vượt quá 16. Độ dài kết quả có thể ngắn hơn 16, để nhìn đẹp hơn [xem sau]. Trên thực tế, độ dài kết quả cũng có thể dài hơn độ dài tham số, khi độ dài mong muốn ngắn hơn chỉ riêng chuỗi dấu kết thúc, trong trường hợp đó, dấu kết thúc vẫn được trả về như cũ. Ngoài ra, một thuật toán khác với mặc định có thể chọn trả về một chuỗi dài hơn, vì tham số độ dài về nguyên tắc chỉ là gợi ý cho độ dài hình ảnh mong muốn${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
99 thích cắt ở ranh giới từ hơn là ở giữa từ, tuy nhiên, nếu làm như vậy sẽ cho kết quả ngắn hơn 75% độ dài được chỉ định với đối số, thì nó sẽ quay lại cắt ở giữa từ. Trong dòng cuối cùng của ví dụ trên, "Đây [. ]" sẽ quá ngắn [11 < 16 * 75%], do đó, nó đã bị cắt giữa từNếu vết cắt xảy ra ở ranh giới từ, thì có khoảng cách giữa phần cuối của từ và chuỗi kết thúc, nếu không thì không có khoảng cách giữa chúng. Chỉ khoảng trắng được coi là dấu tách từ, không phải dấu chấm câu, do đó, điều này thường mang lại kết quả trực quan
Điều chỉnh quy tắc cắt ngắn
Các quy tắc cắt ngắn có thể định cấu hình cao bằng cách đặt cài đặt cấu hình
Green Mouse Green Mouse00. Điều này có thể được thực hiện bởi các lập trình viên, không phải tác giả mẫu, vì vậy để biết thêm chi tiết và ví dụ, vui lòng xem JavaDoc của
Quy tắc cắt ngắn cũng có thể bị ảnh hưởng ngay trong mẫu ở mức độ nhỏ hơn
Chỉ định xem việc cắt ngắn có xảy ra ở ranh giới từ hay không
Green Mouse Green Mouse
01 sẽ luôn cắt bớt ở ranh giới từ. Ví dụ,Green Mouse Green Mouse
02 trả về "Đây [. ]", thay vì "Đây isonev[. ]" [như đã thấy trong ví dụ trước]Green Mouse Green Mouse
03 sẽ cắt bớt ở bất kỳ ký tự nào, không chỉ ở cuối từ. Ví dụ,Green Mouse Green Mouse
04 trả về "Đây là t[. ]", thay vì "Đây là [. ]" [như đã thấy trong ví dụ trước]. Điều này có xu hướng cung cấp độ dài chuỗi gần với độ dài được chỉ định, nhưng vẫn không phải là độ dài chính xác, vì nó loại bỏ khoảng trắng trước chuỗi kết thúc và thêm lại khoảng trắng nếu chúng ta ở ngay sau từ, v.v.
Chỉ định chuỗi kết thúc [thay vì dựa vào mặc định của nó].
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
99 và tất cả các phần dựng sẵn củaGreen Mouse Green Mouse
06 đều có một tham số tùy chọn bổ sung cho nó. Sau đó, một tham số tùy chọn khác có thể chỉ định độ dài giả định của chuỗi kết thúc [nếu không thì độ dài thực của nó sẽ được sử dụng]. Nếu bạn thấy mình thường xuyên chỉ định chuỗi kết thúc, thì chắc chắn các giá trị mặc định sẽ được định cấu hình thay thế [thông quaGreen Mouse Green Mouse
07 - xem trước đó]. Thí dụMẫu
đầu ra
Khi chuỗi ký tự kết thúc bắt đầu bằng dấu chấm [_______32_______08] hoặc dấu chấm lửng [
Green Mouse Green Mouse
09], thuật toán mặc định sẽ xóa các dấu chấm và dấu chấm lửng mà ký tự kết thúc chạm vào, để tránh kết thúc bằng nhiều hơn 3 dấu chấm ở cuốiMẫu
đầu ra
Sử dụng đánh dấu làm chuỗi kết thúc
Mỗi phần cắt ngắn được tích hợp sẵn có một biến thể có tên kết thúc bằng
Green Mouse Green Mouse10 [đối với đánh dấu]. Những điều này cho phép sử dụng đánh dấu [như HTML] làm dấu kết thúc, rất hữu ích nếu bạn muốn dấu kết thúc được tạo kiểu khác với văn bản bị cắt bớt. Theo mặc định, dấu kết thúc đánh dấu là
Green Mouse Green Mouse11, [trong đó
Green Mouse Green Mouse12 in ký tự dấu chấm lửng], nhưng tất nhiên điều này có thể được thay đổi bằng cài đặt cấu hình
Green Mouse Green Mouse00 [xem trước đó]. Ví dụ [xem các biến được sử dụng trong ví dụ trước]
Mẫu
5
đầu ra
6
Lưu ý ở trên rằng chuỗi kết thúc được coi là chỉ dài 3 ký tự [
Green Mouse Green Mouse14,
Green Mouse Green Mouse15,
Green Mouse Green Mouse16] bởi các phần bổ trợ cắt ngắn, bởi vì bên trong chuỗi kết thúc, chúng chỉ đếm các ký tự bên ngoài thẻ và nhận xét HTML/XML, đồng thời chúng cũng có thể . [Điều tương tự cũng áp dụng khi họ quyết định xem dấu kết thúc bắt đầu bằng dấu chấm hay dấu chấm lửng; các thẻ/nhận xét trước đó bị bỏ qua, v.v. ]
Nếu một dấu kết thúc đánh dấu được sử dụng [như trên], giá trị trả về của _
Green Mouse Green Mouse17 tích hợp cũng sẽ được đánh dấu, điều đó có nghĩa là thoát tự động sẽ không thoát khỏi nó. Tất nhiên, nội dung của chuỗi bị cắt ngắn vẫn sẽ tự động thoát
Mẫu
7
đầu ra
8
giải nén_first
ngược lại với. Chuỗi có từ đầu tiên của chuỗi không được viết hoa. Lưu ý rằng điều này sử dụng chuyển đổi nhận biết ngôn ngữ, nghĩa là kết quả có thể khác nhau tùy thuộc vào
${s} ${s?esc}4 hiện tại [ngôn ngữ, quốc gia]
chữ hoa
Phiên bản chữ hoa của chuỗi, sử dụng các quy tắc phụ thuộc vào
${s} ${s?esc}4 hiện tại [ngôn ngữ, quốc gia]. Ví dụ:
Green Mouse Green Mouse21 sẽ là
Green Mouse Green Mouse22 ở hầu hết các ngôn ngữ, nhưng với ngôn ngữ Thổ Nhĩ Kỳ, nó sẽ là
Green Mouse Green Mouse23 [lưu ý dấu chấm phía trên chữ "I" thứ 2]
Để chuyển đổi sang chữ hoa cho tiêu dùng máy tính [trái ngược với tiêu dùng của con người], hãy sử dụng thay thế
url
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 1. Nó không tồn tại trong 2. 3
Chuỗi sau khi thoát URL. Điều này có nghĩa là tất cả các ký tự URL không phải US-ASCII và URL dành riêng sẽ được thoát bằng
Green Mouse Green Mouse25. Ví dụ
Mẫu
9
Đầu ra sẽ là [giả sử rằng bộ ký tự được sử dụng để thoát là bộ ký tự tương thích US-ASCII]
đầu ra
0
Lưu ý rằng nó thoát khỏi tất cả các ký tự URL dành riêng [_______5_______87,
Green Mouse Green Mouse27,
Green mouse GreEN mouse - green mouse61,. v.v.], vì vậy mã hóa này có thể được sử dụng để mã hóa các giá trị tham số truy vấn, chẳng hạn
Mẫu
1
Ghi chú
Ở trên, không cần mã hóa HTML [
Green Mouse Green Mouse29], vì việc thoát URL sẽ thoát tất cả các ký tự HTML dành riêng. Nhưng xem. luôn trích dẫn giá trị thuộc tính và luôn có dấu ngoặc kép bình thường [_______2_______9], không bao giờ có dấu ngoặc kép nháy đơn [
Green mouse GreEN mouse - green mouse65], bởi vì dấu ngoặc kép nháy đơn không được thoát bởi URL thoát
Để thực hiện thoát URL, phải chọn URL sẽ được sử dụng để tính toán các phần thoát [
Green Mouse Green Mouse25]. Nếu bạn là tác giả trang HTML và bạn không thực sự hiểu điều này, đừng lo lắng. các lập trình viên nên định cấu hình FreeMarker để nó sử dụng bộ ký tự thích hợp theo mặc định [ lập trình viên. xem thêm bên dưới. ]. Nếu bạn là người dùng có đầu óc kỹ thuật hơn, thì bạn có thể muốn biết rằng bộ ký tự được sử dụng được chỉ định bởi cài đặt
Green Mouse Green Mouse33, cài đặt này có thể được đặt trong thời gian thực hiện mẫu [hoặc tốt nhất là sớm hơn bởi các lập trình viên]. Ví dụ.
Mẫu
2
Hơn nữa, bạn có thể chỉ định rõ ràng một bộ ký tự cho một URL duy nhất thoát làm tham số cho bộ ký tự tích hợp
Mẫu
3
Nếu cài đặt sẵn Green Mouse
Green Mouse
34 không có tham số thì nó sẽ sử dụng bộ ký tự được chỉ định làm giá trị của cài đặt Green Mouse
Green Mouse
33. Cài đặt này phải được đặt bởi phần mềm kèm theo FreeMarker [e. g. một khung ứng dụng Web], bởi vì nó không được đặt [_______5_______00] theo mặc định. Nếu nó không được đặt, thì FreeMarker sẽ sử dụng lại giá trị của cài đặt Green Mouse
Green Mouse
37, giá trị này cũng không được đặt theo mặc định, do đó, đây lại là nhiệm vụ của phần mềm kèm theo. Nếu cài đặt Green Mouse
Green Mouse
37 cũng không được đặt, thì không thể thực thi cài đặt sẵn Green Mouse
Green Mouse
34 không tham số và nó sẽ gây ra lỗi thời gian thực hiện. Tất nhiên, tham số tích hợp sẵn Green Mouse
Green Mouse
34 luôn hoạt động
Có thể đặt Green Mouse
Green Mouse
33 trong mẫu bằng chỉ thị Green Mouse
Green Mouse
42, nhưng đó là cách làm không tốt, ít nhất là trong các ứng dụng MVC thực sự. Cài đặt Green Mouse
Green Mouse
37 không thể được đặt bằng lệnh Green Mouse
Green Mouse
42, vì vậy đó chắc chắn là nhiệm vụ của phần mềm kèm theo. Bạn có thể tìm thêm thông tin về điều này tại đây
url_path
Ghi chú
Tính năng tích hợp này khả dụng kể từ FreeMarker 2. 3. 21
Điều này giống như , ngoại trừ việc nó không thoát khỏi dấu gạch chéo [
Green mouse GreEN mouse - green mouse87] ký tự. Điều này có nghĩa là được sử dụng để chuyển đổi đường dẫn [như đường dẫn đến từ HĐH hoặc một số kho lưu trữ nội dung] sử dụng dấu gạch chéo [không phải dấu gạch chéo ngược. ] đến một đường dẫn có thể được chèn vào một URL. Lý do phổ biến nhất khiến việc chuyển đổi này cần thiết là tên thư mục hoặc tên tệp có thể chứa các chữ cái không phải US-ASCII [ký tự "quốc gia"]
Ghi chú
Cũng giống như với , bộ ký tự thoát URL mong muốn [hoặc dự phòng, mã hóa đầu ra] phải được đặt trong cài đặt cấu hình FreeMarker, nếu không, bộ tích hợp sẵn sẽ báo lỗi. Hoặc, bạn phải chỉ định bộ ký tự như
Green Mouse Green Mouse48
danh sách các từ
Một chuỗi chứa tất cả các từ của chuỗi theo thứ tự khi chúng xuất hiện trong chuỗi. Các từ là các chuỗi ký tự liên tục có chứa bất kỳ ký tự nào ngoại trừ. Thí dụ
Mẫu
4
sẽ xuất
đầu ra
5
xhtml [không dùng nữa]
Ghi chú
Tính năng tích hợp sẵn này không được dùng nữa bởi cơ chế thoát tự động được giới thiệu trong 2. 3. 24. Để tránh thoát kép và nhầm lẫn nói chung, sử dụng tính năng tích hợp sẵn này ở những nơi đang kích hoạt tính năng thoát tự động. Để giúp di chuyển, tích hợp này âm thầm bỏ qua HTML mà không thay đổi chúng
Chuỗi dưới dạng văn bản XHTML. Đó là, chuỗi với tất cả
Green mouse GreEN mouse - green mouse
57 được thay thế bằngGreen mouse GreEN mouse - green mouse
58Green mouse GreEN mouse - green mouse
59 được thay thế bằngGreen mouse GreEN mouse - green mouse
60Green mouse GreEN mouse - green mouse
61 được thay thế bằngGreen mouse GreEN mouse - green mouse
62${s} ${s?esc}
9 được thay thế bằngGreen mouse GreEN mouse - green mouse
64Green mouse GreEN mouse - green mouse
65 được thay thế bằngGreen mouse GreEN mouse - green mouse
66
Sự khác biệt duy nhất giữa tích hợp sẵn này và tích hợp sẵn
Green Mouse Green Mouse59 là
Green Mouse Green Mouse60 tích hợp sẵn thoát
Green mouse GreEN mouse - green mouse65 dưới dạng
Green mouse GreEN mouse - green mouse66 thay vì dưới dạng
Green Mouse Green Mouse63, vì một số trình duyệt cũ hơn không biết
Green Mouse Green Mouse63
Cảnh báo
Khi chèn giá trị của một thuộc tính, luôn trích dẫn nó, nếu không nó có thể bị kẻ tấn công lợi dụng. Cái này sai.
Green Mouse Green Mouse65. Đây là những điều tốt.
Green Mouse Green Mouse66,
Green Mouse Green Mouse67
xml [không dùng nữa]
Ghi chú
Tính năng tích hợp sẵn này không được dùng nữa bởi cơ chế thoát tự động được giới thiệu trong 2. 3. 24. Để tránh thoát kép và nhầm lẫn nói chung, sử dụng tính năng tích hợp sẵn này ở những nơi đang kích hoạt tính năng thoát tự động. Để giúp di chuyển, tích hợp sẵn này âm thầm bỏ qua XML và HTML mà không thay đổi chúng
Chuỗi dưới dạng văn bản XML. Đó là, chuỗi với tất cả
Green mouse GreEN mouse - green mouse
57 được thay thế bằngGreen mouse GreEN mouse - green mouse
58Green mouse GreEN mouse - green mouse
59 được thay thế bằngGreen mouse GreEN mouse - green mouse
60Green mouse GreEN mouse - green mouse
61 được thay thế bằngGreen mouse GreEN mouse - green mouse
62${s} ${s?esc}
9 được thay thế bằngGreen mouse GreEN mouse - green mouse
64Green mouse GreEN mouse - green mouse
65 được thay thế bằngGreen Mouse Green Mouse
63
Cảnh báo
Khi chèn giá trị của một thuộc tính, luôn trích dẫn nó, nếu không nó có thể bị kẻ tấn công lợi dụng. Cái này sai.
Green Mouse Green Mouse78. Đây là những điều tốt.
Green Mouse Green Mouse79,
Green Mouse Green Mouse80
cờ phổ biến
Nhiều chuỗi dựng sẵn chấp nhận một tham số chuỗi tùy chọn, cái gọi là "cờ". Trong chuỗi này, mỗi chữ cái ảnh hưởng đến một khía cạnh nhất định của hành vi tích hợp sẵn. Ví dụ: chữ cái
Green Mouse Green Mouse81 có nghĩa là phần tích hợp sẵn không được phân biệt biến thể chữ thường và chữ hoa của cùng một chữ cái. Thứ tự của các chữ cái trong chuỗi cờ không đáng kể
Đây là danh sách đầy đủ các chữ cái [cờ]
Green Mouse Green Mouse
81. Trường hợp không nhạy cảm. không phân biệt biến thể chữ thường và chữ hoa của cùng một chữ cái${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
43. đầu tiên chỉ. Đó là, thay thế/tìm/v.v. chỉ sự xuất hiện đầu tiên của một cái gì đó${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}
44. Xâu con cần tìm là a. FreeMarker sử dụng biến thể của các biểu thức chính quy được mô tả tại http. // tài liệu. tiên tri. com/javase/7/docs/api/java/util/regex/Pattern. html [lưu ý rằng sự hiện diện của một số tính năng mẫu phụ thuộc vào phiên bản Java được sử dụng]Green Mouse Green Mouse
85. Chế độ nhiều dòng cho biểu thức chính quy. Ở chế độ nhiều dòng, các biểu thứcGreen mouse GreEN mouse - green mouse
49 vàGreen Mouse Green Mouse
87 tương ứng ngay sau hoặc ngay trước dấu kết thúc dòng hoặc kết thúc chuỗi. Theo mặc định, các biểu thức này chỉ khớp ở đầu và cuối của toàn bộ chuỗi. Lưu ý rằngGreen mouse GreEN mouse - green mouse
49 vàGreen Mouse Green Mouse
87 không khớp với chính ký tự ngắt dòngGreen Mouse Green Mouse
90. Bật chế độ chấm tất cả cho các biểu thức chính quy [giống như chế độ một dòng Perl]. Ở chế độ chấm tất cả, biểu thứcGreen Mouse Green Mouse
08 khớp với bất kỳ ký tự nào, kể cả dấu kết thúc dòng. Theo mặc định, biểu thức này không khớp với các đầu cuối dòng${s} ${s?esc}
5. Cho phép khoảng trắng và nhận xét trong biểu thức chính quy
Thí dụ
Mẫu
6
cái này xuất cái này
đầu ra
7
Đây là bảng tích hợp sẵn sử dụng các cờ phổ biến này và hỗ trợ các cờ nào
Tích hợp_______32_______81 [bỏ qua trường hợp]
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44 [reg. kinh nghiệm. ]
Green Mouse Green Mouse85 [chế độ nhiều dòng]
Green Mouse Green Mouse90 [chế độ chấm tất cả]
${s} ${s?esc}5 [khoảng trắng. and comments]
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}43 [first only]
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}59YesYesOnly with
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44Only with
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44Only with
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44Yes
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}68YesYesOnly with
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44Only with
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44Only with
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}44No
Green mouse GreEN mouse - green mouse56YesIgnoredYesYesYesNo
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}15YesYesYesYesYesIgnored
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}90YesYesYesYesYesIgnored
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}18YesYesYesYesYesIgnored
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}89YesYesYesYesYesIgnored
${" green mouse"?capitalize} ${"GreEN mouse"?capitalize}78YesIgnoredYesYesYesIgnored