matlab - 加入保留引号的单元格字符串
matlab - join cell strings keeping quotations
假设我有一个字符串单元格如下:
ss = {'one', 'two', 'three'}
我想将这些字符串连接成 1 个字符串。使用 strjoin
我得到:
>> str = strjoin(ss, ', ')
str =
one, two, three
有没有什么捷径(1-2行代码)保留所有引用'
,如下:
str = 'one', 'two', 'three'
尝试提供 sprintf
a comma-separated list of the strings contained in ss
. In the format specifier 您可以包含引号、逗号和 space。最后一个逗号和 space 需要在末尾删除。
result = sprintf('''%s'', ', ss{:}); %// cat the strings with quotes, comma and space
result = result(1:end-2); %// remove extra comma and space
您或许可以在字符串元胞数组上使用 regular expressions 在字符串前后插入引号,然后在其上使用 strjoin
:
ss = {'one', 'two', 'three'};
ss2 = regexprep(ss, '.+', '''[=10=]''');
out = strjoin(ss2, ', ');
regexprep
将元胞数组中与模式匹配的字符串替换为其他内容。在这种情况下,我发现使用模式 .+
收集整个单词,然后在单词前后放置一个单引号。这是由 ''[=15=]''
完成的。每对 ''
是一个单引号。我在后面用逗号分隔字符串。
我们得到:
out =
'one', 'two', 'three'
假设我有一个字符串单元格如下:
ss = {'one', 'two', 'three'}
我想将这些字符串连接成 1 个字符串。使用 strjoin
我得到:
>> str = strjoin(ss, ', ')
str =
one, two, three
有没有什么捷径(1-2行代码)保留所有引用'
,如下:
str = 'one', 'two', 'three'
尝试提供 sprintf
a comma-separated list of the strings contained in ss
. In the format specifier 您可以包含引号、逗号和 space。最后一个逗号和 space 需要在末尾删除。
result = sprintf('''%s'', ', ss{:}); %// cat the strings with quotes, comma and space
result = result(1:end-2); %// remove extra comma and space
您或许可以在字符串元胞数组上使用 regular expressions 在字符串前后插入引号,然后在其上使用 strjoin
:
ss = {'one', 'two', 'three'};
ss2 = regexprep(ss, '.+', '''[=10=]''');
out = strjoin(ss2, ', ');
regexprep
将元胞数组中与模式匹配的字符串替换为其他内容。在这种情况下,我发现使用模式 .+
收集整个单词,然后在单词前后放置一个单引号。这是由 ''[=15=]''
完成的。每对 ''
是一个单引号。我在后面用逗号分隔字符串。
我们得到:
out =
'one', 'two', 'three'