Hi everyone, I have the string bellow as input to a function
'(44) (hello) (good) ()'
the function looks for indices positions of left and right parenthesis...
open = strfind(text, '(');
close = strfind(text, ')');
after that I want to isolate everything inside the parenthesis...
I was hoping there was a fast way of doing this something like:
output = text(open:close);
but it doesn't seem to work does anyone has a clue if this is possible?!

 채택된 답변

Star Strider
Star Strider 2019년 11월 27일

1 개 추천

Try this:
str = '(44) (hello) (good) ()';
out = regexp(str, '(?<=\()\w*(?=\))', 'match')
producing:
out =
1×3 cell array
{'44'} {'hello'} {'good'}
See the documentation on regexp (and its friends) for details.
Make appripriate changes to get the result you wannt.

댓글 수: 4

I actually liked this approach, but I wanted people to be able to set their delimiters.
for example:
split_between('[hello] [banana] [56]', '[', ']');
so I went with @Turlough answer.
Note that both answers require that the delimiters be specified. Neither will work with unspecified delimiters.
Example —
split_between = @(str,delim1,delim2) regexpi(str, sprintf('(?<=\\%s)\\w*(?=\\%s)',delim1,delim2), 'match'); % Create Anonymous Function
out = split_between('[hello] [banana] [56]', '[', ']')
producing:
out =
1×3 cell array
{'hello'} {'banana'} {'56'}
as requested.
Francisco Dias
Francisco Dias 2019년 11월 27일
Woow this is great! thank you ;)
Star Strider
Star Strider 2019년 11월 27일
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Turlough Hughes
Turlough Hughes 2019년 11월 27일
편집: Turlough Hughes 2019년 11월 27일

0 개 추천

This is one way to go about it:
a=strsplit(text(text~=' '),{'(',')'})
output=sprintf('%s',a{:})

댓글 수: 1

Turlough Hughes
Turlough Hughes 2019년 11월 27일
편집: Turlough Hughes 2019년 11월 27일
Actually, just realising you could also write:
output=text(text~=' ' | text~='(' | text~=')')

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Entering Commands에 대해 자세히 알아보기

제품

릴리스

R2019b

태그

질문:

2019년 11월 27일

댓글:

2019년 11월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by