regexp problem in '.'

I have a string and I want to split it with '.', but the regexp does not work.
test='abcde.abcde';
regexp(test,'.','split')
but it does not work, the result is a 1*12 cell array.
however, if I replace the '.' with other symbol, such as '_', the regexp function works properly.
test='abcde_abcde';
regexp(test,'_','split')
just want know if there is any mistake with my operation? or, is this a feature in 'regexp' function?
Thanks!
Yu

 采纳的回答

per isakson
per isakson 2019-1-8
编辑:per isakson 2019-1-8
Try
%%
test='abcde.abcde';
regexp(test,'\.','split')
returns
ans =
1×2 cell array
{'abcde'} {'abcde'}
dot stands for any single character. An escape is needed to a literal dot.

3 个评论

Thank for your answer, the problem has been solved.
could you please explain why this happens and why your answer works?
Thanks!
Yu
dot is a Metacharacters, see the documentaion, which says:
. Any single character, including white space, '..ain' matches sequences of five consecutive characters that end with 'ain'.
Thank you!
Bests,
Yu

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File 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