I have a variable that stores a string. The string contains letters, numbers, underscores and symbols (there is no specific order, and not just once). Now I want to extract the string through regexp(). The extracted string should start with letters, numbers and underscores and end with letters or numbers, but the suffix needs to exclude '_' or '_in' or '_out' or '_out[]', how can I do that? Thanks.
str_new = regexp(str_old,'[^$^|]\w*_*\w*[^_^_out^_in^_out[]^_in[]]','match')
I want to use '^' to exclude string in '[ ]' , but it is distinguish only one letter or another...
eg:
str_old = '$abc_in'
str_new = abc
str_old = 'def_in_hij_out[]'
str_new = 'def_in_hij'
str_old = 'xyz'
str_new = 'xyz'

 채택된 답변

Stephen23
Stephen23 2021년 4월 13일
편집: Stephen23 2021년 4월 13일

0 개 추천

inp = {'$abc_in','def_in_hij_out[]','xyz'}
inp = 1×3 cell array
{'$abc_in'} {'def_in_hij_out[]'} {'xyz'}
out = regexprep(inp,{'_(in|out(\[\])?)?\>','\W+'},'')
out = 1×3 cell array
{'abc'} {'def_in_hij'} {'xyz'}

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

질문:

2021년 4월 13일

댓글:

2021년 4월 14일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by