How to "increment" a pattern in a string array ?
16 ビュー (過去 30 日間)
古いコメントを表示
Hello guys,
I have a string character like : '[XYZ]_(?:%d|%d|%d|%d)' .In this example I have 4 values (%d) but maybe in the future I could have more. So I would like to create a loop to increment the pattern automatically.
For instance, if tomorrow I have 5 values, I would like to have :
[XYZ]_(?:%d|%d|%d|%d|%d)
Is there anyway to do this ?
Thanks you really much for your help !
Thibaut
2 件のコメント
採用された回答
Ameer Hamza
2020 年 6 月 7 日
Something like this
x = 1:4;
sprintf(['[XYZ]_(?:' repmat('%d|',1,numel(x)-1) '%d)'], x)
Result
ans =
'[XYZ]_(?:1|2|3|4)'
and
x = 1:10;
sprintf(['[XYZ]_(?:' repmat('%d|',1,numel(x)-1) '%d)'], x)
Result
ans =
'[XYZ]_(?:1|2|3|4|5|6|7|8|9|10)'
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!