Iva*_*van 2 regex coldfusion railo cfml
我想得到一个像这样的字符串:
Lorem ipsum dolor坐下来,精致的adipistur elit.Donec tempor pulvinar enim!Nec aliquam massa faucibus sed ?? Praesent nec consectetur sapien ... Nulla dapibus rutrum turpis,ac porta erat posuere vel.
从全部大写(或小写)的字符串开始.例如:
LOREM IPSUM DOLOR SIT AMET,CONSECTETUR ADIPISCING ELIT.DONEC TEMPOR PULVINAR ENIM!NEC ALIQUAM MASSA FAUCIBUS SED ?? 令人印象深刻的NEC CONSECTETUR SAPIEN ... NULLA DAPIBUS RUTRUM TURPIS,AC PORTA ERAT POSUERE VEL.
我能怎么做?谢谢!
我会用CSS而不是ColdFusion来做这件事
<span style="text-transform : capitalize"><cfoutput>#lcase(mystring)#</cfoutput></span>
Run Code Online (Sandbox Code Playgroud)
获取文本并将其设置为如下变量:
<cfset stringFixer = "LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. DONEC TEMPOR PULVINAR ENIM! NEC ALIQUAM MASSA FAUCIBUS SED?? PRAESENT NEC CONSECTETUR SAPIEN... NULLA DAPIBUS RUTRUM TURPIS, AC PORTA ERAT POSUERE VEL.">
Run Code Online (Sandbox Code Playgroud)
小写一切:
<cfset stringFixer = lCase(stringFixer)>
Run Code Online (Sandbox Code Playgroud)
然后你需要匹配你的字符串终止符和rematch,如下所示:
<cfset stringFixerBreaker = reMatch('\w.+?[.?]+',stringFixer)>
Run Code Online (Sandbox Code Playgroud)
reMatch()将你的字符串拆分成较小的离散句子字符串...然后你可以replaceNoCase()用左搜索第一个字符串,然后对你的替换字符串做同样的事情,但是我们会抛出uCase()第一个字符来大写它.
<cfloop array="#stringFixerBreaker#" index="i">
<cfoutput>#replaceNoCase(i,left(i, 1 ),uCase(left(i, 1 )))# </cfoutput>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
您的输出将如下所示:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tempor pulvinar enim! nec aliquam massa faucibus sed?? Praesent nec consectetur sapien... Nulla dapibus rutrum turpis, ac porta erat posuere vel.
Run Code Online (Sandbox Code Playgroud)
编辑:我的答案的最后一个接触点.
如果需要重建字符串,请执行以下操作:
<cfset str = "">
<cfloop array="#stringFixerBreaker#" index="i">
<cfset str = str & replaceNoCase(i,left(i, 1 ),uCase(left(i, 1 ))) & " ">
</cfloop>
Run Code Online (Sandbox Code Playgroud)
转储结果以检查所有内容是否正常:
<cfdump var="#str#">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7364 次 |
| 最近记录: |