'ab[c]' to this 'ab_c' ?

1 vue (au cours des 30 derniers jours)
Ioannis Vourvachakis
Ioannis Vourvachakis le 6 Nov 2021
How can I convert this 'ab[c]' to this 'ab_c' ?
The letters a,b,c are for the specific example.
In the position of c could be any letter.
  2 commentaires
Steven Lord
Steven Lord le 6 Nov 2021
Modifié(e) : Steven Lord le 6 Nov 2021
Are you trying to change a char vector containing this literal text, or are you trying to change indexing into a variable to instead have numbered names for variables?
If the latter, can you define variables with numbered names like ab_1, ab_2, ab_3, ... ? Yes. Should you do this? Generally we recommend against it. See that page for alternatives you should use instead.
Ioannis Vourvachakis
Ioannis Vourvachakis le 6 Nov 2021
Modifié(e) : Ioannis Vourvachakis le 6 Nov 2021
I want to convert this cell array
'10fthf[c]'
'10fthf[h]'
'10fthf[m]'
'10fthf[x]' .
to this cell array
'10fthf_c'
'10fthf_h'
'10fthf_m'
'10fthf_x'
Ιn other words, I want to create a for loop, where for every element of the first cell array, it will remove the brackets ([]}and put a underscore (_) before the letter that it was previously contained in the brackets.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 6 Nov 2021
Try this:
s = 'ab[c]'
s = 'ab[c]'
s = strrep(s, '[', '_') % Replace [ with underline.
s = 'ab_c]'
s = strrep(s, ']', '') % Replace ] with null.
s = 'ab_c'
  3 commentaires
Image Analyst
Image Analyst le 6 Nov 2021
For a cell array, it's the same code:
s = {'ab[c]'; 'xy[z]'}
s = strrep(s, '[', '_') % Replace [ with underline.
s = strrep(s, ']', '') % Replace ] with null.
If this answers your question, maybe you can click the "Accept this answer" link, unless you want to wait for a better one.
Ioannis Vourvachakis
Ioannis Vourvachakis le 6 Nov 2021
Yes, I accepted it. Thank you again.

Connectez-vous pour commenter.

Plus de réponses (1)

Paul
Paul le 6 Nov 2021
C = { '10fthf[c]'
'10fthf[h]'
'10fthf[m]'
'10fthf[x]'}
C = 4×1 cell array
{'10fthf[c]'} {'10fthf[h]'} {'10fthf[m]'} {'10fthf[x]'}
cellstr(extractBefore(string(C),"[") + "_" + extractBefore(extractAfter(string(C),"["),2))
ans = 4×1 cell array
{'10fthf_c'} {'10fthf_h'} {'10fthf_m'} {'10fthf_x'}
  1 commentaire
Ioannis Vourvachakis
Ioannis Vourvachakis le 6 Nov 2021
Thank you.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by