How do I add variables into a string within a table?

I have a table with a column of 10 digit strings that I need to add "-" into.
How do I turn a column of strings looking like this "0001336363" into a column of strings looking like this "0001336-36-3"?

 采纳的回答

The only option appears to be to turn the string variable into a char array first:
str = "0001336363";
strc = char(str);
Out = sprintf("%7s-%2s-%s", strc(1:7),strc(8:9),strc(10))
producing:
Out =
"0001336-36-3"
.

2 个评论

Thank you. I was trying to come up with something along that line but hadn't thought to change it to a character array.
After asking here, I found this alternative solution.
tests.CAS12 = insertAfter(tests.CAS12,7,"-"); % Add in the first "-"
tests.CAS12 = insertAfter(tests.CAS12,10,"-") % Add in the second "-".
I shall compare the two and decide which I think is cleaner.
As always, my pleasure!
I searched through the string functions, although I didn’t consider that insertAfter would apply. It would likely come down to which is the more efficient use of computer resources.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Characters and Strings 的更多信息

产品

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by