`

rails gsub,regexp ,match 的应用

阅读更多
1.将 电话号码的中的 '/' '+' 统一替换为 '-'
eg : "010/51248525+110"  --- "010-51248525-110"
domains = Global::Domain.all
domains.each do |domain|
  db_name = Entos::DbConfig.get(Rails.env,domain.orgnization_id)
  ActiveRecord::Base.connection.execute("USE #{db_name}")

  phone_regexp=/\A\d{3,4}-\d{7,8}\z|\A\d{3,4}-\d{7,8}-\d{1,3}\z|\A\d{3,15}\z|\A\d{7,8}-\d{1,3}\z/
  mobile_regexp=/\A\d{11}\z/
  qq_regexp=/\A\d{5,10}\z/
  User.find_each do |user|
    
    unless !user.phone.present?
    user.phone= user.phone.gsub(/\/|\+/,'-') 
    end
    if user.phone.present? and phone_regexp.match(user.phone).nil?
    user.phone=nil
    end
    if user.mobile_phone.present? and     mobile_regexp.match(user.mobile_phone).nil?
    user.mobile_phone=nil
    end
    if user.qq.present? and qq_regexp.match(user.qq).nil?
    user.qq=nil
    end
    user.save
  end
end




2.替换表情符号-- 将mblog 中【pinyin】替换为 【拼音】

emotions= {"hehe" => "[呵呵]",  "keai" => "[可爱]",  "qinqin" => "[亲亲]", "haha" => "[哈哈]", "xixi" => "[嘻嘻]", "yinxian" => "[阴险]",  "haixiu" => "[害羞]",
  "shuijiao" =>"[睡觉]",  "chanzui" => "[馋嘴]",  "huaxin" => "[花心]",  "ku" => "[酷]",  "jinqian" => "[金钱]",  "touxiao" => "[偷笑]",  "bishi" => "[鄙视]",
  "guzhang" => "[鼓掌]",  "sikao" => "[思考]",  "wabishi" => "[挖鼻屎]",  "baibai" => "[拜拜]",  "xu" => "[嘘]",  "weiqv" => "[委屈]",  "haqian" => "[哈欠]",
  "kelian" => "[可怜]",  "kaixin" => "[开心]",  "zhuakuang" => "[抓狂]",  "numa" => "[怒骂]",  "youhengheng" => "[右哼哼]",  "zuohengheng" => "[左哼哼]",  "yun" => "[晕]",
  "aini" => "[爱你]",  "liulei" => "[流泪]",  "shengbing" => "[生病]",  "shengqi" => "[生气]",  "heixian" => "[黑线]",  "heng" => "[哼]",  "yiwen" => "[疑问]",  "shuai" => "[衰]",
  "han" => "[汗]",  "shiwang" => "[失望]",  "kun"=> "[困]",  "tu"=> "[吐]",  "bulini" => "[不理你]",  "beishang" => "[悲伤]",  "bizui" => "[闭嘴]",  "chijing" => "[吃惊]",
  "xin" => "[心]",  "shangxin" => "[伤心]",  "dangao" => "[蛋糕]",  "lazhu" => "[蜡烛]",  "good" => "[good]",  "ok" => "[ok]",  "yeah" => "[耶]",  "zan" => "[赞]",
  "buyao" => "[不要]",  "lai" => "[来]",  "ruo" => "[弱]",  "zhutou" => "[猪头]",  "zhong" => "[钟]",  "huatong" => "[话筒]",  "geili" => "[给力]",  "v587" => "[威武]"}

domains = Global::Domain.all
domains.each do |domain|
  db_name = Entos::DbConfig.get(Rails.env,domain.orgnization_id)
  ActiveRecord::Base.connection.execute("USE #{db_name}")

  Mblog.find_each do |mblog|
    unless mblog.content.nil?
      mblog.content=mblog.content.gsub(/\[(\w+)\]/) do |c|
        emotions[$1]
      end
      mblog.save
    end
  end

end
分享到:
评论

相关推荐

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    使用Rails开发Facebook平台应用

    ### 使用Rails开发Facebook平台应用 #### 一、引言与背景 随着社交媒体的迅速发展,Facebook作为全球最大的社交网络之一,为企业和个人提供了无限的机会来创建和推广应用程序。Rails(Ruby on Rails)作为一种流行...

    Ruby on Rails:部署Rails应用至Heroku.docx

    Ruby on Rails:部署Rails应用至Heroku.docx

    Ruby on Rails所构建的应用程序基本目录结构总结

    当使用rails new appname生成Rails应用后,我们可以通过tree来查看Rails应用的目录结构: 目录结构 应用程序目录下会有app、config、db、doc、lib、log、public、script、test、tmp和vendor等11个目录和config.ru、...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    使用 Ruby on Rails 快速开发 Web 应用程序

    NULL 博文链接:https://dayone.iteye.com/blog/265023

    Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码。

    标题中的“Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码”表明这是一个关于使用Ruby on Rails框架进行敏捷Web开发的示例项目,名为Depot。Ruby on Rails(简称Rails)是一个开源的Web应用程序框架,它...

    Ruby+on+Rails快速Web应用开发实战.pdf

    Ruby on Rails(简称RoR或Rails)是一种开源的网络应用框架,用Ruby语言编写。它被设计用来轻松地实现MVC(模型-视图-控制器)设计模式,从而使开发人员能够快速和有条理地创建数据驱动的应用程序。接下来,我将详细...

    breach-mitigation-rails, 使 Rails 应用程序更能抵御入侵和犯罪攻击.zip

    breach-mitigation-rails, 使 Rails 应用程序更能抵御入侵和犯罪攻击 breach-mitigation-rails使 Rails 3和 4应用程序 LESS 容易受到入侵/犯罪攻击的攻击。 有关详细信息,请参阅 breachattack.com 。工作原理这里 ...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    **Ruby-GoOnRails:利用Rails生成器构建Golang应用** Ruby on Rails(简称Rails)是一种流行的Web开发框架,以其“约定优于配置”的理念和高效的开发速度受到开发者喜爱。而Go(Golang)则是一种静态类型、编译型的...

    应用Rails进行敏捷Web开发中文第三版

    《应用Rails进行敏捷Web开发》中文第三版是针对Ruby on Rails框架的一本详尽指南,主要聚焦于Rails 2.2.2版本。Ruby on Rails(简称Rails)是一款基于Ruby编程语言的开源Web应用程序框架,它遵循“Don't Repeat ...

    rails-bootstrap, 带有 Bootstrap 4前端框架的Rails 5.1 starter应用.zip

    rails-bootstrap, 带有 Bootstrap 4前端框架的Rails 5.1 starter应用 Rails 和 BootstrapRails 5.1集成 Rails 和 Bootstrap 4.0的示例应用程序。Bootstrap ( 以前 Twitter Bootstrap ) 为网站的视觉设计提供CSS样式...

    Web开发敏捷之道-应用Rails进行敏捷Web开发 pdf

    《Web开发敏捷之道——应用Rails进行敏捷Web开发》是一本深度探讨如何利用Ruby on Rails框架进行高效、敏捷的Web应用程序开发的专业书籍。该书涵盖了从初学者到高级开发者所需的各种知识,旨在帮助读者掌握敏捷开发...

    rails应用--导航栏实例工程

    在本项目"rails应用--导航栏实例工程"中,我们将探讨如何在Ruby on Rails框架下构建一个实用的导航栏。Rails是一个流行的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程更加高效且结构...

    Rails101_by_rails4.0

    Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它遵循模型-视图-控制器(MVC)的架构模式,设计用来快速开发数据库驱动的动态网页。随着Rails版本的更新迭代,此书聚焦于一个特定的版本,帮助...

    Ruby-RailsFootnotes在每一个Rails页脚展示应用程序的相关信息方便调试

    Rails Footnotes是一个插件,它可以在每个Rails页面的页脚处显示详尽的应用程序相关信息,从而简化调试过程。 Rails Footnotes的主要功能包括: 1. ** Sessions 显示**:在开发过程中,Session数据往往承载着用户...

Global site tag (gtag.js) - Google Analytics