我有一个字符串,我想将除特定模式之外的所有模式提取到另一个变量中。
first_string = "Q13 Hello, World!"
我想Hello, World!
从字符串中取出并放入另一个变量中,以便:second_string = "Hello, World!"
.
我试图创建一个正则表达式来提取除“Q13”之外的所有内容,它适用于 Rubular,但不适用于控制台。
> first_string = "Q13 Hello, World!"
> second_string = first_string.scan(/[^(Q[0-9]{1,})]/)
=> [" ", "H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d", "!"]
> second_string.join()
=> " Hello World!"
这很好,但我不能使用正则表达式丢失前导空格。这不会是一个问题,除非我有一些特定于应用程序的警告......
并非所有字符串都有“Q13”......“Q”会在那里,但数字会改变。我不知道“Q13”会出现在正文的开头还是结尾。我无法确定字符串中将包含什么文本。
我不能依赖那里的领先空间。它也可能是一个尾随空格。
有任何想法吗?