有些时候,我们确实需要在JavaScript中进行字符串替换,类似于C#中的String.Format()方法一样,只不过这种格式化替换只局限于对由'{0}','{1}','{2}'...所组成的“占位符”进行字符串替换,而并不会像C#中可以进行字符串格式化替换。这会大量简化我们的代码,使得程序结构变得更加清晰。众所周知,JavaScript中的replace方法默认只能对第一个匹配到的字符串进行替换,如果给定的字符串中存在多个匹配项,则除了第一个匹配项之外其余的部分都不会被替换。因此我们可以借助于正则表达式来进行替换。

  来看看下面这个方法:

if (!String.prototype.format) {String.prototype.format = function () {var args = arguments;return this.replace(/{(\d+)}/g, function (match, number) {return typeof args[number] != 'undefined'? args[number]: match;});};
}

  如何使用?

"{0} is dead, but {1} is alive! {0} {2}".format("ASP", "ASP.NET");

  ASP is dead, but ASP.NET is alive! ASP {2}

  注意'{2}'没有被替换,因为参数列表中没有给定对应的值。在该方法中,没有对参数列表和占位符进行严格限制。也就是说,允许占位符中的数字不连续或者一定要从0开始,而且参数列表的数量并不一定要与占位符中的数字完全对应。只对正则表达式匹配到的项进行查找替换。所以该方法可以满足一些基本应用。

  这里还有另外一个JavaScript类库。

 String.js
<script src="script/string.js" type="text/javascript"></script>
<script type="text/javascript">var a = String.format("Hello {0}!", "world");alert(a);</script>

  另外,我的另一篇博客中有关于如何在JavaScript中对字符串进行Trim操作的例子:

http://www.cnblogs.com/jaxu/archive/2009/03/12/1409395.html

本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/p/3289172.html,如需转载请自行联系原作者

String.Format in javascript相关推荐

  1. 编写javascript、Jquery的String.format();

    在javascript.Jquery里面好像是没有String.format();这个函数的,所以我们在拼接字符串的时候就特别的辛苦,生怕又打错,而且又乱,所以就自己去写一个函数来代替. String ...

  2. JavaScript等同于printf / String.Format

    我正在寻找一个等效于C / PHP printf()或C#/ Java程序员的String.Format() (适用于.NET的IFormatProvider String.Format() Java ...

  3. 使用string.Format需要注意的一个性能问题

    今天,我在写C#代码时,突然发现一个最熟悉的陌生人 -- string.Format.在写C#代码的日子里,与它朝夕相伴,却没有真正去了解它.只知道在字符串比较多时,用它比用加号进行字符串连接效率更高 ...

  4. Java / Android String.format 的使用

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象. 自己使用的地方1 拼接字符串 2 ,多语言文字顺序不同问题,例如中文:距离到公司还有30分钟, 时间是接口获取的, ...

  5. android String.format

    资源创建: <!-- 多参数验证 -->     <string name="text">截止到:%1$tc\n销售量比去年增长了%2$d%%\n在这里我对 ...

  6. String.Format格式说明

    C#格式化数值结果表 字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0 ...

  7. String.Format()方法

    String.Format方法是我们在.Net应用开发时经常使用到的,它的灵活使用有时能够达到事半功倍的效果,下面我们就借用MSDN上的一个示例来向大家展示String.Format的各种用法. 该示 ...

  8. ASP.NET设置数据格式与String.Format使用总结

    {0:d} YY-MM-DD {0:p} 百分比00.00% {0:N2} 12.68 {0:N0} 13 {0:c2} $12.68 {0:d}  3/23/2003 {0:T}  12:00:00 ...

  9. String.format()【演示具体的例子来说明】

    String.format()[演示样例具体解释] 整理者:Vashon 前言: String.format 作为文本处理工具.为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 Strin ...

最新文章

  1. 使用mod_proxy_balancer实现负载均衡
  2. python与excel做数据可视化-Python的Excel操作及数据可视化
  3. 众论英特尔虚拟化之VMware篇
  4. 取MySQL最后几行数据
  5. 后台服务程序开发模式(一)
  6. 使用 SAP HANA Virtual Table 连接外部数据源
  7. 深入学习SAP UI5框架代码系列之四:SAP UI5控件的元数据实现
  8. 【WPF】设置TextBox内容为空时的提示文字
  9. 实例47:python
  10. Django项目部署(nginx1.18+uwgsi)
  11. 在Eclipse上使用egit插件通过ssh协议方式上传项目代码的具体步骤
  12. JavaScriptjQuery.函数
  13. 树莓派(raspberry pi)学习11: 将树莓派变成一个Web服务器(转)
  14. 【渝粤教育】广东开放大学 跨文化商务沟通 形成性考核 (39)
  15. 微软社区大课堂 - Transform the Datacenter (数据迁移与Windows Server )社区巡讲- 北京站...
  16. 软件“生命”系统进化论——软件以负熵为生!
  17. subplots与figure函数参数解释说明以及简单的使用脚本实例
  18. java sql server连接字符串_java连接sql server
  19. 数据结构考点之n阶矩阵
  20. 毕业设计——> 基于SSM的网上购物商城系统(有商城+商城后台)

热门文章

  1. Managed Extensibility Framework (MEF)
  2. 从零开始学ios开发(十二):Table Views(中)UITableViewCell定制
  3. linux kernel内存映射实例分析
  4. 如何备份思科、锐捷、Juniper的配置文件
  5. sql server 2008建域时提示admin密码不符合要求解决方法
  6. 前端人员如何模拟慢网速环境
  7. 【原创】parseInt大改造
  8. SD-WAN:MSP连接
  9. 软件:向工业互联网产业成功转型的关键
  10. 2012 12 12 (109)闪回操作