How to remove numbers between specific symbols in text array?
조회 수: 9 (최근 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!