使用strrep替换特定的逗号

1次查看(最近30天)
卢卡斯Netzer
卢卡斯Netzer 2021年8月5日
评论道: 斯蒂芬。 2021年8月6日
我转换了我的数据:
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)

斯蒂芬。
斯蒂芬。 2021年8月5日
编辑:斯蒂芬。 2021年8月5日
“我转换了我的数据……使用str2num。”
虽然您的描述不清楚,但我猜您的目标是将文本数据转换为数字数据。在这种情况下,不要浪费时间摆弄字符串(或者使用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 1 169 1693 3 1693 1708 1 1708 2729 3 2729 2779 0
M = jsondecode (S)
M = 6×3
0 145 0 145 169 1 169 1693 3 1693 1708 1 1708 2729 3 2729 2779 0
2的评论
斯蒂芬。
斯蒂芬。 2021年8月6日
@ lucas Netzer:数据是以。mat文件的形式提供给你的吗?如果不是,请 上传 原始数据文件。

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!