How to remove numbers between specific symbols in text array?
3 次查看(过去 30 天)
显示 更早的评论
Hello everyone,
I have a question regarding how to modify a text array in Matlab which contains numbers between two "_" symbols. Here some examples:
- If the string has the following structure: "Gas_1_O2" I expect the following result: "Gas_O2". This should work for every number between two "_" symbols.
- If the string has another structure nothing should happen (e.g. "Time" or "Flow_Fluidization").
The text string will later on be used for renaming a table.
I tried with the function extractBetween but it did not worked as I expected.
Thanks for your support.
Best,
Joseba
0 个评论
采纳的回答
madhan ravi
2019-2-14
a="Gas_1_O2";
regexprep(a,'\_\d*.?\d*\_','_')
5 个评论
Stephen23
2019-2-14
"The code was put keeping only numbers (including decimals)..."
Remember that . by itself matches all characters, not just the decimal point / period chraacter.
madhan ravi
2019-2-14
编辑:madhan ravi
2019-2-14
True Stephen that‘s why I used [\.] to preserve dot character in the latter comment.
更多回答(2 个)
Rik
2019-2-14
You can use regular expressions for this task:
str1='Gas_1_O2';
str2='Flow_Fluidization';
regexprep(str1,'_[0-9]*_','_')
regexprep(str2,'_[0-9]*_','_')
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!