一、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  ‘改为’

【freemaker】ftl freemaker String常见操作语法相关推荐

  1. java string常见操作题

    1. 每个基本类型封装类都有将string转换为基本数据类型的方法 对于非常大的数字请使用Long,代码如下 int age = Integer.parseInt("10");  ...

  2. Freemaker FTL指令常用标签及语法

    1.字符输出 ${emp.name?if_exists} // 变量存在,输出该变量,否则不输出 ${emp.name!} // 变量存在,输出该变量,否则不输出 ${emp.name?default ...

  3. Markdown 学习——Typora入门之常见操作语法及其快捷键

    Markdown 学习–Typora入门 Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档. 由于Markdown的轻量 ...

  4. Python字串(string)基础与20种常见操作

    多数的程式设计师,处理字串的次数远比数字还要多. 程式设计给人的印象通常是会使用到许多数学,也是不少人对学程式语言感到惧怕的原因. 但其实程式设计的实务上,处理文字字串(string)的频率远比数字高 ...

  5. 常见操作String的方法(截取子串,分割字符串,字符串的替换)

    常见操作String的方法(截取子串,分割字符串,字符串的替换) 截取子字符串substring() substring()方法有两种重载形式,一种是从指定位置截取到字符串结尾,另一种是截取指定范围的 ...

  6. 常见操作String的方法(字符查找,索引查找)

    常见操作String的方法(字符查找,索引查找) 在给定的字符串中查找字符或字符串是比较常见的操作.字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位 ...

  7. C#字符串常见操作总结详解

    C#字符串常见操作总结详解 本篇文章是对C#中字符串的常见操作进行了详细的总结介绍,需要的朋友参考下 (1)取字符串长度       <string>.Length; (2)字符串转为比特 ...

  8. Pandas处理日期数据的常见操作集锦

    Pandas处理日期数据的常见操作集锦 数据读取及整理 获取某个日期之前/后或时间区间的数据 python 获取当前时间及前一天时间 pandas的日期时间间隔运算选取指定时间范围内/外的数据 利用p ...

  9. 路径,文件,目录,I/O常见操作汇总

    摘要:    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案 ...

最新文章

  1. 仅在序列化过程中使用@JsonIgnore,而不是反序列化
  2. oracle sqlplus 常用命令大全
  3. 帮助创建未来的 .NET 客户端开发
  4. Vue+Openlayers中实现地图旋转
  5. 进程有一个全局变量 i,还有有两个线程。i++ 在两个线程里边分别执行 100 次,能得到的最大值和最小值分别是多少?
  6. PTA第3章-2 查验身份证 (15 分)
  7. 这个处理不同基因组区域关系的工具集很不错!
  8. mongodb 持久化 mysql_(转)mongodb与mysql区别
  9. 微信公众平台运营指导
  10. Xcode安装及卸载
  11. Emacs启动时窗口全屏两种方法
  12. MongoDB 数据库_集合_文档 操作
  13. linux查看端口号占用
  14. 1040 Longest Symmetric String (25 分)
  15. CruiseControl 安装和启动
  16. Origin8.1完全安装教程,安装包pojie包
  17. 动作捕捉——从模型到动画个人流程记录
  18. matlab资产组合最优配置,[转载]资产组合有效前沿的解和最优解(MATLAB语言)
  19. 微型计算机终端编号是什么,终端编码是什么意思
  20. Android接入微信分享视频和图片

热门文章

  1. pcf8951 ad/da(iic)转换模块 在 esp8266下的实现
  2. AB1601GPIO不支持较高频率的脉冲中断
  3. R语言:异常数据处理
  4. React如何使用 Ant Design(简单使用)
  5. python:将json数据写入到excel
  6. [Skill]-Markdown编辑器技巧
  7. 数据结构常见算法集锦
  8. 怎么用c语言画出坐标曲线,c语言打印贝塞尔曲线坐标(三阶)
  9. MoeCTF 2021Re部分------Algorithm_revenge
  10. hgameweek4 secret