我有一个文本输入,将输入如下
7 - BMW 550i
如果用户输入这个,我如何使用正则表达式删除破折号右侧的所有内容,所以我只剩下第一个数值。
我试过这个:
-?\\d+
但是,如果像我给出的示例一样,它将获得结束编号。
我有一个文本输入,将输入如下
7 - BMW 550i
如果用户输入这个,我如何使用正则表达式删除破折号右侧的所有内容,所以我只剩下第一个数值。
我试过这个:
-?\\d+
但是,如果像我给出的示例一样,它将获得结束编号。
这应该有效:
(\d+)\s*-
用来$1
得到你的结果。
例如,在 Perl 中,使用这个:
my ($number) = ($str =~ /(\d+)\s*-/);
RegexPlanet在线演示。
在不使用正则表达式的情况下,有更有效的方法可以做到这一点,我建议你朝那个方向看。