【freemaker】ftl freemaker String常见操作语法
一、substring
?????????? NOTE: 這個內置以來2.3.7 FreeMarker的存在
?????? 語法exp?substring(from,toExclusive),也可以是exp?substring(from)
??????? 簡介:一個字符串,form是第一個字符(A substring of the string.from is the index ??????????? of the ?? first character.),它必須是一個數字,而且至少是0和小于0或者具有相???????? 同的 toExclusive.進行截取操作的最后字符的索引,該值必須為數字,如果該值省略,默認為從from到字符串的結束。
例:
| 表達式 | 輸出 |
| ${‘abc’?substring(0)}?????? | Abc |
| ${‘abc’?substring(1)} | Bc |
| ${‘abc’?substringf(2)} | C |
| ${‘abc’?substring(3)} | |
| ${‘abc’?substring(0,0)} | |
| ${‘abc’?substring(0,1)} | A |
| ${‘abc’?substring(0,1)} | Ab |
二、cap_first:將字符串的第一個字符或者字母(僅前幾個字符是空格的情況)大寫(如果第一個字符是字母);如果字符串的第一個字符不是字母(空格除外),將按照原來字符串的格式返回;若第一個字符是字母并且是大寫的情況,結果同上。
| 表達式 | 結果 |
| ${‘? green mouse’?cap_first} | ? Green mouse |
| ${‘GreEN mouse’?cap_first} | GreEN mouse |
| ${‘- green mouse’? cap_first} | - green mouse |
In the case of?"-green mouse", thefirst word is the?-.
三、uncap_first:功能和cap_first相反
四、capitalize:將一個字符串的首字母大寫,其他字母全小寫
| 表達式 | 結果 |
| ${? green mouse}?capitalize | Green Mouse |
| ${‘GreEN mouse’?capitalize} | Green Mouse |
五、chop_linebreak:如果一個字符串的末尾有換行,將換行打斷;否則不變
六、date,time,datetime:將字符串轉換成日期,建議提供一個參數指定格式
| 表達式 | 結果 |
| <#assign test1 = ‘10/25/1995’?date(‘MM/ddyyyy’)>${test1} | Oct 25,1955 |
七、ends_with:判斷字符串是否以指定的字符結尾,如果是返回true;否則返回false
| 表達式 | 結果 |
| ${‘read head’?ends_width(‘head’)} | true |
八、html:作為HTML標記的字符串。也就是說,所有的字符串
l? <取代<
l? >替換>
l? &替換為&
l? "改為"
如果在某個字符串中存在一些HTML特色字符的話,可以使用這種方式來避免與HTML的沖突
九、groups
十、index_of:返回指定字符在字符串中第一次出現的索引。也可以指定從那個索引開始進行查找如${‘abcabc’?index_of(‘bc’,2)}將指定從索引為2的地方開始進行查找匹配字符.如果沒有找到批評的字符將返回-1
| 表達式 | 結果 |
| ${‘abcabc’?index_of(‘bc’)} | 1 |
| ${‘abcabc’?index_of(‘bc’,2)} | 4 |
十一、?????? j_string:java中的轉義字符
十二、?????? js_string: 脫JavaScript語言文字的字符串字符串的轉義規則,因此它是安全的插入文本值轉換為字符串。兩個引號(“)和單引號- quoate(')被轉義。2.3.1起價FreeMarker的,它也逃脫 > 為“\> ( 避免 </腳本>)。此外,在所有字符的UCS 碼點0x20,即JavaScript語言中沒有專門的轉義序列,將被替換為十六進制轉義(\ x二十)。(當然,根據JavaScript語言的字符串的語法,反斜杠(\)會被轉義也換行會被轉義為 \ ?,...等等)
如:
??????? <#assignuser = "Big Joe's \"right hand\"">
??????? <script>
??????? ? alert("Welcome${user?js_string}!");
??????? </script>?
將返回
??????? <script> ??????? alert("Welcome Big Joe\'s \"right hand\"!"); ??????? </script>十三、?????? last_index_of:最后一個匹配的索引
十四、?????? length:字符串的長度
十五、?????? lower_case:全部轉換為小寫
十六、?????? left_pad
十七、?????? right_pad
十八、?????? contains這個內置對象在2.3.1版本中有,但2.3版本中沒有:用于判段在一個字符串是否存在指定的字符
| 表達式 | 結果 |
| <#if ‘maple’?contains(‘ap’)>maple</#if> | maple |
十九、?????? matches:只能在java2平臺1.4或更高版本上使用,否則將以錯誤來處理
使用正則進行匹配,返回的是一個序列(SimpleSequence),序列的大小可能是0
| 表達式 | 結果 |
| <#if "fxo"?matches("f.?o")>Matches.<#else>Does not match.</#if> | Matches. |
| <#assign res = "foo bar fyo"?matches("f.?o")> <#if res>Matches.<#else>Does not match.</#if> Matching sub-strings: <#list res as m> - ${m} </#list> | Does not match. Matching sub-strings: - foo - fyo? |
返回的序列不能直接通過${}輸入,而應該通過<#list>進行迭代
二十、?????? number:將String轉換為數值,這個數字必須在FTL指定的格式
二十一、?????????????replace:它用來取代原來的字符串與另一個字符串中所有出現的字符串。它不涉及字邊界
| 表達式 | 結果 |
| ${‘this is a car acarus’?replae(‘car’,’maple’)} | this is a maple amapleus |
| ${‘aaaa’?replace(‘aaa’,’X’)} | Xa |
| ${‘maple’?replce(‘’,’|’)} | |m|a|p|l|e| |
二十二、?????????????rtf:作為富文本(RTF)字符串
l? \替換\\
l? {替換\{
l? }替換\}
二十三、?????????????split:”分割
分割方式可以指定為標點符號或者字符
| 表達式 | 結果 |
| <#list ‘yangyang,do you know my heart’?split(‘,’) as m> -????????? ${m} </#list> | -yangyang -do you know my heart |
二十四、?????????????starts_with:以什么開始,與ends_with向對應
二十五、?????????????string:什么也不做,只是返回的字符串原樣。唯一的例外is,如果該值是一個多類型的值(例如,它是兩個字符串,在同一個時間順序),然后將得到的值只是一個簡單的字符串,而不是一個多類型的值。
二十六、?????????????trim:去掉前后空格
二十七、?????????????upper_case:將所有的字母轉換為大寫,與lower_case向對應
二十八、?????????????word_list:返回的是一個序列,其中包含的是命令字符串中的所有字,因為他們出現在字符串中,語言是通過以“空格”為標準進行分割
| 表達式 | 結果 |
| <#assign words = "?? a bcd, .?? 1-2-3"?word_list> <#list words as word>[${word}]</#list> | [a] [bcd,][.] [1-2-3] |
二十九、?????????????xhtml:作為XHTML的文本字符串,類似于html
l ?<取代<
l? >取代>
l? &取代&
l? “取代”
l? ‘取代’
三十、?????? xml:作為XML文本字符串
l? <取代<
l? >替換>
l? &替換為&
l? “改為”
l? ‘改為’?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【freemaker】ftl freemaker String常见操作语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC框架中ModelAnd
- 下一篇: JQuery预加载的四种种方式