我有一个字符串
s = " \r\n Displays the unique ID number assigned to the\r\nAlias Person."
我想删除这个起始空格,但它也不会删除这些引号。
我试过
s = s.strip!
s = s.gsub!('"','')
答案 0 :(得分:4)
你的字符串中包含的内容是不间断的空格,如果你不在编辑器中使用任何帮助,那么差异就是不可见的:
p " \r\n Displays the unique ID number assigned to the\r\nAlias Person."
p " \r\n Displays the unique ID number assigned to the\r\nAlias Person."
但如果您在字符串中映射每个字符,您可以看到差异:
[32, 32, 32, 32, 32, 32, 32, 32, 13, 10, 32, ...]
[160, 160, 160, 160, 160, 160, 160, 160, 13, 10, 32, ...]
那些160是您无法替换的,您必须手动删除它们,或拒绝匹配160的那些然后再加入和转换:
string = " \r\n Displays the unique ID number assigned to the\r\nAlias Person."
p string.chars.reject { |char| char.ord == 160 }.join
# "\r\n Displays the unique ID number assigned to the\r\nAlias Person."
答案 1 :(得分:0)
代码没有问题。如果您尝试从字符串的开头和结尾删除引号,则不会删除它。这就是ruby代表一个字符串的方式。尝试使用单引号定义一个字符串,如下所示: -
2.4.2 :005 > str = 'aaa'
=> "aaa"