在Ruby中交换字符串的一部分

Seb*_*ian 0 ruby

Ruby中最简单的方法是将字符串的一部分与另一个值互换.假设我有一封电子邮件,我想在两个域上查看它,但我不知道哪一个我会得到它作为输入.我正在构建的应用程序应该与@ gmail.com和@ googlemail.com域一起使用.

例:

swap_string 'user@gmail.com' # >>user@googlemail.com
swap_string 'user@googlemail.com' # >>user@gmail.com
Run Code Online (Sandbox Code Playgroud)

Aza*_*ara 5

如果你想用其他东西替换字符串的一部分,gsub工作得很好.

链接到Gsub文档

它允许您将字符串的一部分与正则表达式匹配,然后用另一个字符串替换该部分.当然,代替正则表达式,您只需使用特定的字符串即可.

例:

"user@gmail.com".gsub(/@gmail/, '@googlemail')
Run Code Online (Sandbox Code Playgroud)

等于

user@googlemail.com
Run Code Online (Sandbox Code Playgroud)

在我的示例中,我使用了@gmail和@googlemail而不仅仅是gmail和googlemail.这样做的原因是为了确保它不是名称中包含gmail的帐户.这不太可能,但可能会发生.

也不要与.com匹配,因为这可能会根据用户的电子邮件的位置而改变.