【发布时间】:2016-07-11 06:58:22
【问题描述】:
我还是这个 MATLAB GUI 的新手。 在我的项目中,我加载了一个文件并在静态文本中显示了内容,但我希望它是一个更可读的版本,以便在用户界面中显示。
这是文件的内容:
!MLF!#
"*/test001.rec"
0 200000 sent-start -162.580292
200000 4500000 five -2768.522217
4500000 7900000 five -2114.920898
7900000 12300000 one -2661.298828
12300000 15800000 two -2209.799805
15800000 29800000 sent-end -6030.099609
.
我想知道有没有办法从GUI中的静态文本中提取单词,然后将“五五一二”转换为“5512”。
我已经在谷歌上苦苦挣扎了将近一个星期来学习如何做到这一点。 任何帮助都非常感谢。 提前致谢! :)
已编辑,
这是我目前的编码:
data1 = importdata('C:\Users\User\Desktop\bin.win32\recout.mlf','')
set(handles.txtMsg, 'Max', 2);
set(handles.txtMsg,'String',data1)
%capturedString = get(handles.txtMsg,'String');
%capturedString = strjoin(captureString')
capturedString = 'nine one';
%StaticTextInString = regexprep(captureString,'[^\w'']','')
WordsToDigit=find(not(cellfun('isempty',strfind({'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'},capturedString)))) - 1;
set(handles.txtMsg,'String',WordsToDigit);'
让我们先假设 captureString = 'nine one',
如果我让 captureString = 'nine',那么 WordsToDigit = '9'。但是,如果有超过 1 个单词,例如上面的一个:'九一',那么结果将是 'Empty matrix: 1-by-0'..
是否可以检测字符串中的多个子字符串?
例如,cappedString = "dasd 312 九 wqej 七 98w 一",WordsToDigit = '971'。
谢谢!
【问题讨论】:
-
您是否尝试过使用查找表将单词形式的数字转换为数字?
-
你能分享你的代码吗?您是否从回调函数访问它,以便您可以访问句柄结构并可以通过以下方式读取静态文本:StaticTextInString = get(handles.yourstatictext,'String');
标签: matlab user-interface