0

如何删除特定单词之前的字符串中的所有内容(或包括第一个空格和后面)?

我有一个这样的字符串:

12345 Delivered to: Joe Schmoe

我只想要Delivered to: Joe Schmoe

所以,基本上我不想要从第一个空间和后面的任何东西。

我正在运行 Ruby 1.9.3。

4

3 回答 3

3

使用正则表达式仅选择您想要的字符串部分。

"12345 Delivered to: Joe Schmoe"[/Delive.*/]
# => "Delivered to: Joe Schmoe"
于 2013-08-14T16:22:03.553 回答
0

有很多不同的方法是可能的。这里有一对:

s = '12345 Delivered to: Joe Schmoe'
s.split(' ')[1..-1].join(' ') # split on spaces, take the last parts, join on space
# or
s[s.index(' ')+1..-1] # Find the index of the first space and just take the rest
# or
/.*?\s(.*)/.match(s)[1] # Use a reg ex to pick out the bits after the first space
于 2013-08-14T16:26:18.527 回答
0

如果 Delivered 并不总是第二个词,你可以这样使用:

s_line = "12345 Delivered to: Joe Schmoe"
puts s_line[/\s.*/].strip #=> "Delivered to: Joe Schmoe"
于 2013-08-14T16:39:12.173 回答