0

我需要在第一个破折号之后从字符串的开头提取一个子字符串到 6 个字符,但在第二个破折号处停止。有:

X13-145222-2    
X13X1-125256    
X13DD1-045455-5 

通缉:

X13-145222
X13X1-125256
X13DD1-045455
4

2 回答 2

1

所以你想要从字符串开头到第一个连字符后的第 6 个字符的所有内容?

这应该有效。如果可以有一个没有连字符的字符串,你需要让它更复杂,但你的例子暗示总会有至少一个。

SUBSTR( string, 1, INSTR( string, '-') + 6 )
于 2013-06-04T16:29:48.253 回答
1
regexp_replace(string, '^((.*?)-(.*?))-.*$', '\1')

小提琴

于 2013-06-04T17:27:52.317 回答