在使用matlab的时候,我们经常要针对字符串中的特定字符进行分割;
我们最常想起来的函数莫过于 : strsplit() split() 两个函数。 其实这两个函数本身是有区别的,并且我们还会遇到一起比较特殊的情况。 eg:
example_str = '/Users/jdoe//My Documents/Examples';
rs1 = split(example_str,'/')
rs2 = strsplit(example_str,'/')
rs1 =
6×1 string 数组
""
"Users"
"jdoe"
""
"My Documents"
"Examples"
rs2 =
1×5 string 数组
列 1 至 3
"" "Users" "jdoe"
列 4 至 5
"My Documents" "Examples"
总结一下就是:strsplit在分割的时候,出现多个分割符的时候,会将其视为一个分割符处理。 split在处理的时候,出现多个分割符号会依次分割,连在一起的分割符,则视为中间内容 同时在输出的时候,split是输出为一排,而strsplit输出为一列。 这种情况多见于,在处理csv等文件的时候,不会出现空值导致的表格错位等问题。
|