输入字符串是:
InputStr1 = 'this-is-a-boy-5';
InputStr2 = 'this23-is-a-boy-10';
InputStr3 = 'this-41';
输出应该是:
Output1 = ['this-is-a-boy'] [5]
Output2 = ['this23-is-a-boy'] [10]
Output3 = ['this'] [41]
我想将这些字符串分成两部分,这样我就可以将第一个字符串和最后一个数字从中分开。我试过 strsplit()
但没有用。
最佳答案
这应该有效(假设最后总是有数字)
data = 'this-is-a-boy-5'
toks = regexp(data, '(.*)-(\d+)$', 'tokens');
display(toks)
如果你想使用strsplit
,你可以将它用作
toks = strsplit(data, '-(?=\d+$)', 'DelimiterType', 'RegularExpression');
display(toks)
关于regex - 在matlab中将一个字符串分成两部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36467932/