String Search with Special Characters

3 次查看(过去 30 天)
Team,
I have reviewed quite a few posts on this subject but I must be missing something since I cannot get my string search working. If you can help I would be very thankful. Say we have the following:
Say I have a string that is built up as follows:
  1. 1st character is >
  2. 2nd-5th characters are ABCD
  3. 6th character is a space
  4. There are a variable number of alphanumerical characters (i.e. 0 through 9, a-z, A-Z) for the 7th slot etc.
  5. #4 is followed by a period
  6. There are again a variable number of alphanumerical characters (i.e. 0 through 9, a-z, A-Z)
  7. The last character is a <
How would you set up the regexp syntax to dertermine the locations in your string where these cases happen?
Here are two sample strings:
S = '>ABCD 1010.01<';
S = '>ABCD 2345678.123<';
Thank you for your help!

采纳的回答

Raouf Amara
Raouf Amara 2019-5-27
pat = '>ABCD \w*.\w*<';
str = 'whateveryouwant>ABCD 2345678.123<andmore>ABCD 1010.01<';
idx = regexp(str,pat)

更多回答(1 个)

Stephen23
Stephen23 2019-5-27
编辑:Stephen23 2019-5-27
You can use tokens to identify the specific substrings and get their locations:
>> S = '>ABCD 2345678.123<';
>> [T,X] = regexp(S,'>(ABCD)\s(\w+)\.(\w+)<','once','tokens','tokenExtents')
T =
'ABCD'
'2345678'
'123'
X =
2 5
7 13
15 17
  2 个评论
dsmalenb
dsmalenb 2019-5-27
Just out of curiosity, if the string included the " or ' characters, then how would you need to handle the string?
Stephen23
Stephen23 2019-5-28
编辑:Stephen23 2019-5-28
"...if the string included the " or ' characters, then how would you need to handle the string?"
What do you mean by "handle" ? It is not clear what your question relates to: how such as string should be defined, or how the regular expression should be written to also match strings which include single/double quotes ?
If your question was actually about how to detect/ignore single/double quotes when matcing the substrings, then please specify if you want to include them or ignore them in the output.

请先登录,再进行评论。

类别

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