使用strrep替换特定的逗号

7视图(30天)
我转换数据:
0]的[[0,145年,(145、169、1][169、1693、3],[1693、1708、1],[1708、2729、3],[2729、2779、0]]”
使用str2num。
现在我可以使用strrep删除某些字符。外我想替换逗号分号的方括号,然后删除所有方括号。
我知道如何删除括号,但不知道如何取代某些逗号和其他人离开。这是我将使用删除括号:
b = strrep(数据,“]”,);
b = strrep(数据,“(”,);
最终的输出应该像这样:
' 0 145 0;145、169、1;169、1693、3;1693、1708、1;1708、2729、3;2729、2779、0 '
谢谢你的帮助!

接受的答案

斯科特·麦肯齐
斯科特·麦肯齐 2021年8月5日
编辑:斯科特·麦肯齐 2021年8月5日
分阶段,显示的可能性……
s1 =0]的[[0,145年,(145、169、1][169、1693、3],[1693、1708、1],[1708、2729、3],[2729、2779、0]]”
s1 =0]的[[0,145年,(145、169、1][169、1693、3],[1693、1708、1],[1708、2729、3],[2729、2779、0]]”
(s1, s2 = strrep“,”,”),“)
s2 =“[[0,145,0];(145、169、1);(169、1693、3);(1693、1708、1);(1708、2729、3);(2729、2779、0]]“
s3 = strrep (s2,“]”,)
s3 =145年' [[0,0;(145、169、1;(169、1693、3;(1693、1708、1;(1708、2729、3;(2729、2779、0
s4 = strrep (s3,“(”,)
s4 =' 0 145 0;145、169、1;169、1693、3;1693、1708、1;1708、2729、3;2729、2779、0 '

答案(1)

Stephen23
Stephen23 2021年8月5日
编辑:Stephen23 2021年8月5日
“我将我的数据…使用str2num。”
虽然你descriptiion尚不清楚,我想,你的目标文本数据转换成数字数据。在这种情况下,不要浪费时间摆弄着字符串(或者,换句话说,使用STR2NUM隐藏内部邪恶EVAL):
S =0]的[[0,145年,(145、169、1][169、1693、3],[1693、1708、1],[1708、2729、3],[2729、2779、0]]”;
M = sscanf (S(2:结束),“[% f % f % f],”(3正))。
M = 6×3
0 145 0 145 169 169 1693 1693 1708 1708 2729 3 2729 2779 0
M = jsondecode (S)
M = 6×3
0 145 0 145 169 169 1693 1693 1708 1708 2729 3 2729 2779 0
2的评论
Stephen23
Stephen23 2021年8月6日
@Lukas Netzer: .mat文件的数据提供给你吗?如果不是,请 上传 原始数据文件。

登录置评。

社区寻宝

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

开始狩猎!