【发布时间】:2012-06-19 01:11:10
【问题描述】:
好的,这可能很容易,但我不经常使用 matlab 并且无法通过缝合来正确地完成此操作。
我想要做的就是在可能的文本行中替换所有出现的逗号。
即:
"3","0.998652","10.1.3.2","10.1.2.3","TCP","[TCP Port numbers reused] 49153 > 10 [SYN] Seq=4294967295 Win=65535 Len=0"
"4","1.002860","10.1.2.3","10.1.3.2","TCP","10 > 49153 [SYN, ACK] Seq=0 Ack=0 Win=65535 Len=0"
在以上几行中,您可以看到几乎所有出现的逗号都被引号 (",") 包围。我想要做的就是把它们留在里面,但是使用Matlab用空格替换所有没有被引号包围的逗号。
这就是我想要的。 即:
"3","0.998652","10.1.3.2","10.1.2.3","TCP","[TCP Port numbers reused] 49153 > 10 [SYN] Seq=4294967295 Win=65535 Len=0"
"4","1.002860","10.1.2.3","10.1.3.2","TCP","10 > 49153 [SYN ACK] Seq=0 Ack=0 Win=65535 Len=0"
请注意,唯一的区别是删除了 [SYN ACK] 部分中的逗号。
我已经尝试了很多事情,但到目前为止唯一有效的就是这样的事情。
a= '"4","1.002860","10.1.2.3","10.1.3.2","TCP","10 > 49153 [SYN, ACK] Seq=0 Ack=0 Win=65535 Len=0"'
str = regexprep(a,'","','1234567890')
str = regexprep(str,',','')
str = regexprep(str,'1234567890','","')
毋庸置疑,这远非最佳,如果有任何想法,我们将不胜感激。还有一点需要注意的是,我尝试过的一些功能无法识别引文(不记得是哪个手头的)
提前致谢!
【问题讨论】:
标签: regex matlab replace comma