如何使用正则表达式得到一行的最后一个字符

23日视图(30天)
文件= uigetfile (‘* . txt”,“选择文本文件解析”);
fid = fopen(文件)
文本= fileread(文件)
expr =“[^ \ n] *计算机名称= [^ \ n] *’;
= regexp匹配(文本、expr“匹配”);
disp(匹配)
我有一个很长的复杂的文本文件,我想解析。真的很长,是一个列表的行。没有逗号分隔符,但机器的名字,我总是寻找最后的……就像
121212323:机器的名字= roboDog
121222323:机器IOS = Android
上面的代码是我试图选择有关的行包含关键字。它不会工作,但是我理想的想每台机器的名字被存储在一个向量像machineName = {“roboDog”;“roboCat”}
谢谢!

答案(1)

骑自行车的人
骑自行车的人 2019年8月21日
编辑:骑自行车的人 2019年8月21日
你的定义 expr “计算机名称”之间没有空间和等号,但是课本的例子。当我把这个空间,它找到了匹配。
8的评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年8月22日
我怀疑机名称可能不严格匹配\ w,并不包括“-”为例。我建议
expr =‘(?< = Name = \ s *)。* ? (? = \ s *)的美元;
= regexp匹配(文本、expr“匹配”,“lineanchors”,“dotexceptnewline”)
该除去前导和尾随空白和接受之间的东西

登录置评。

类别

找到更多的在字符和字符串帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!