在matlab中将一个字符串分成两部分
Split a string into two parts in matlab
输入字符串是:
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()
但没有用。
尝试拆分出现在字符串末尾数字之前的 -
。
正则表达式: -(?=\d+$)
解释:
(?=\d+$)
如果数字在字符串末尾则向前看。并匹配它之前的 -
。您可以对此进行拆分。
这应该有效(假设最后总是有数字)
data = 'this-is-a-boy-5'
toks = regexp(data, '(.*)-(\d+)$', 'tokens');
display(toks)
如果你想使用strsplit
你可以将它用作
toks = strsplit(data, '-(?=\d+$)', 'DelimiterType', 'RegularExpression');
display(toks)
输入字符串是:
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()
但没有用。
尝试拆分出现在字符串末尾数字之前的 -
。
正则表达式: -(?=\d+$)
解释:
(?=\d+$)
如果数字在字符串末尾则向前看。并匹配它之前的-
。您可以对此进行拆分。
这应该有效(假设最后总是有数字)
data = 'this-is-a-boy-5'
toks = regexp(data, '(.*)-(\d+)$', 'tokens');
display(toks)
如果你想使用strsplit
你可以将它用作
toks = strsplit(data, '-(?=\d+$)', 'DelimiterType', 'RegularExpression');
display(toks)