Tag: 替换

使用ruby gsub和regexp更智能地替换字符

我正在尝试为某些文章标题创建类似行为的永久链接,我不想为永久链接添加新的数据库字段。 所以我决定写一个帮助器来转换我的文章标题: “ O”focoasă“a pornit cruciada,împotrivabărbaţilorzgârciţi ”to“ o-focoasa-a-pornit-cruciada-impotriva-barbatilor-zgarciti ”。 虽然我想出了如何用连字符替换空格并删除其他特殊字符(除了 – )使用: title.gsub(/\s/, “-“).gsub(/[^\w-]/, ”).downcase 我想知道是否有任何其他方法可以从一个.gsub方法调用替换一个特定的其他字符的字符,所以我不必为所有的方法链接title.gsub(“ă”,“a”)方法我本地化的UTF-8特殊字符。 我正在考虑用所有特殊字符和它们的对应物构建一个哈希,但我还没有弄清楚如何使用regexp的变量。 我在寻找的是: title.gsub(/\s/, “-“).gsub(*replace character goes here*).gsub(/[^\w-]/, ”).downcase 谢谢!

正则表达式 – 替换除URL / URI之外的单词

为Web应用程序编写全球化模块,我需要一个regexp来替换一个单词的所有实例与另一个单词(翻译) – 除了 – 在URL / URI中找到的单词。 编辑:我忘了提到我使用Ruby,所以我不能使用’Lookbehind’

用ruby中的数组内容替换字符串?

String = “Test string Test” array = [“link1″,”link2”] 如何替换这样的字符串? 输出应为String = “link1 string link2”

在Ruby中查找并替换文件

我有这个用ruby编写的小程序。 我在SO上发现了一段很好的代码,用于查找和替换文件中的某些内容,但它似乎不起作用。 这是代码: #!/usr/bin/env ruby DOC = “test.txt” FIND = /,,^M/ SEP = “\n” #make substitution File.read(DOC).gsub(FIND, SEP) #Check if the line already exist unique_lines = File.readlines(DOC).uniq #Save the result in a new file File.open(‘test2.txt’, ‘w’) { |f| f.puts(unique_lines) } 谢谢大家 !

解析@username的post

我已经建立了类似Twitter的@replies,允许用户通过用户每日邮件相互联系…类似于stackoverflow。 以此为指导https://github.com/kltcalamay/sample_app/compare/original-version…master 如何解析/扫描post,然后将@usernames替换为该用户页面的链接 post的例子。 Kevins Post: @Pzpcreations @john @steve hey everyone lets all hang out today 我想扫描/解析post,然后将用户@Pzpcreations @john @steve链接到他们的个人资料 我尝试在Dailypost模型中创建一个方法,将用户名存储在数组中….但IDK如何替换并将它们链接到相应的用户页面 def username_link str = self.content_html recipient = str.scan(USERNAME_REGEX) end 这给了我[“@Pzpcreations”,“@ john”,“@ step”] 请帮帮我….新到铁路:) 楷模 class Recipient < ActiveRecord::Base attr_accessible :dailypost_id, :user_id belongs_to :user belongs_to :dailypost end class User ‘Recipient’, :dependent => :destroy has_many :received_replies, :through […]

ruby中字符串中所选字符替换的所有可能组合

我想知道是否有一种简单的方法可以用简单的方式在ruby中完成所选字符替换的每个组合。 一个例子: string = “this is a test” subs = [‘a’=>’@’,’i’=>’!’,’s’=>’$’] subs.combination.each { |c| string.gsub c } 会屈服 “this is @ test” “th!s !sa test” “thi$ i$ a te$t” “th!s !s @ test” “thi$ i$ @ te$t” “th!$ !$ a te$t” “th!$ !$ @ te$t” 谢谢您的帮助!