Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > Recipe 1.4. Reversing a String by Words or Characters
【标  题】:Recipe 1.4. Reversing a String by Words or Characters
【关键字】:Recipe,1.4.,Reversing,String,by,Words,or,Characters
【来  源】:http://blog.csdn.net/superway117/archive/2006/11/23/1408394.aspx

Recipe 1.4. Reversing a String by Words or Characters

Your Ad Here Recipe 1.4. Reversing a String by Words or Characters

Problem
解决字符串里面的单词或者字母的次序不对的问题.


Solution
如果需要从原始字符串创建一个新的反转的字符串,你可以使用reverse方法.
如果需要反转原始字符串本身,可以使用reverse!方法.

    s = ".sdrawkcab si gnirts sihT"
    s.reverse                            # => "This string is backwards."
    s                                    # => ".sdrawkcab si gnirts sihT"

    s.
reverse!                           # => "This string is backwards."
    s                                    # => "This string is backwards."


如果需要反转字符串里面的单词,你可以split这个字符串到一个数组,然后再join这个数组成为一个字符串.

    s = "order. wrong the in are words These"
    s.split(/(\s+)/).reverse!.join('')   # => "These words are in the wrong order."
    s.split(/\b/).reverse!.join('')      # => "These words are in the wrong. order"


Discussion
String#split使用一个正则表达式作为一个分隔符.每次这个分隔符被匹配到后,分隔符前面的那部分就放到一个列表里面.然后split反复的
检查这个字符串剩下的部分.这个查找的结果就是把每次分隔的结果生成一个列表.
正则表达式/(\s+)/匹配一个或多个whitespace characters,相当于[ \t\n\r\f].this splits the string on word boundaries,
which works for us because we want to reverse the order of the words.

正则表达式 \b 匹配一个单词的边界.这个和匹配whitespace不同, 它也会去匹配标点符号.请注意这种匹配结果中标点符号导致的差异.

因为正则表达式 /(\s+)/ 包含了一对圆刮号,这样分隔符也会包含在返回的列表里面.这样,后面join这个列表的时候,whitespace也会被
保留下来.下面的例子显示了有一对圆刮号和没有圆刮号的区别:

    "Three little words".split(/\s+/)   # => ["Three", "little", "words"]
    "Three little words".split(/(\s+)/)
    # => ["Three", " ", "little", " ", "words"]


See Also
Recipe 1.9, "Processing a String One Word at a Time," has some regular expressions for alternative definitions of "word"

Recipe 1.11, "Managing Whitespace"

Recipe 1.17, "Matching Strings with Regular Expressions"
 

    
asp+正则表达式:【上一篇】
得到控件的绝对坐标(javascript):【下一篇】
【相关文章】
  • Microsoft .NET Framework 3.0 的部署
  • Recipe 1.5. Representing Unprintable Characters
  • Asp.Net Forums中对.Net中序列化和反序列化的应用
  • 在ColorDialog里预置自定义颜色
  • 使用log4net成功将日志写入oracle数据库
  • 安装SharePoint Portal Server的步骤
  • c#程序打包,同时把netframework也打包进去
  • myeclipse启动HQL Editor出错问题解决
  • Eclipse 的Oracle 连接问题
  • Translator in HiveMind
  • 【随机文章】
  • [Share]客户端执行EXE文件
  • 怎样防止别人用ipc$和默认共享入侵
  • 对代码有感情,对质量有追求
  • [转载]浅析cout
  • 防火墙的安全性分析与配置指南(1)
  • DOS下访问iso文件
  • 我的女友的烦恼
  • Solution to "Failed to open a secure file transfer session"
  • WALKLAN无线节点
  • 基于PHP的聊天室编程思想
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.