How to match a number between two characters?

6 次查看(过去 30 天)
Hi,
Here is an example from a string: [180] Windabweichung
How can i extract the 180 ?
Thanks.

采纳的回答

Matt J
Matt J 2019-11-11
>> str=extractBetween("[180] Windabweichung","[","]")
str =
"180"
  2 个评论
Matt J
Matt J 2019-11-11
Dario's comment moved here:
Thanks Matt J,
it works perfect, but in the case for a table of strings as an input.
How can i get another table with extracted values from the input table?
Input=
and output with the same size but with returned numbers.
Thanks
Matt J
Matt J 2019-11-11
编辑:Matt J 2019-11-11
What you have shown is a string array, not a table. But for string arrays, it should work just the same,
>> s=string({"[180] Windabweichung","[260] mmm"});
>> str=extractBetween(s,"[","]")
str =
1×2 string array
"180" "260"

请先登录,再进行评论。

更多回答(1 个)

Matt J
Matt J 2019-11-11
编辑:Matt J 2019-11-11
>> T=regexp('[180] Windabweichung','\[(\d+)\]','tokens'); T{:}
ans =
1×1 cell array
{'180'}

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by