Kim*_*Kim 24 ruby regex ruby-on-rails
我有一个字符串,我需要检查该字符串的最后一个字符是否为*,如果是,我需要将其删除.
if stringvariable.include? "*"
newstring = stringvariable.gsub(/[*]/, '')
end
Run Code Online (Sandbox Code Playgroud)
以上不会搜索'*'符号是否是字符串的最后一个字符.
我如何检查最后一个字符是否为'*'?
谢谢你的任何建议
pju*_*ble 54
使用$锚点仅匹配行尾:
"sample*".gsub(/\*$/, '')
Run Code Online (Sandbox Code Playgroud)
如果字符串末尾有可能存在多个*(并且您想要全部替换它们),请使用:
"sample**".gsub(/\*+$/, '')
Run Code Online (Sandbox Code Playgroud)
joa*_*olk 30
您也可以使用chomp(在API Dock上查看),它默认删除尾随记录分隔符,但也可以接受参数,然后只有当它与指定字符匹配时才会删除字符串的结尾( S).
"hello".chomp #=> "hello"
"hello\n".chomp #=> "hello"
"hello\r\n".chomp #=> "hello"
"hello\n\r".chomp #=> "hello\n"
"hello\r".chomp #=> "hello"
"hello \n there".chomp #=> "hello \n there"
"hello".chomp("llo") #=> "he"
"hello*".chomp("*") #=> "hello"
Run Code Online (Sandbox Code Playgroud)
String有一个end_with?方法
stringvariable.chop! if stringvariable.end_with? '*'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18662 次 |
| 最近记录: |