# Scanning strings in a string array

조회 수: 23(최근 30일)
Viviana Arrigoni 9 Oct 2017
편집: Guillaume 9 Oct 2017
I see that if I declare a string between ' ', I can have access to each single character. For instance:
>> x = 'abc';
>> x(1)
ans = 'a'
While if I declare a string between " ", this doesn't happen:
>> x = "abc";
>> x(1)
ans = "abc"
Now, I need to scan an array of strings, the problem is that if the strings are between "", for example:
A = ["abc", "def", "ghi", "lmn"];
then it results length(A) = 4 (as I want it to be), but then if x = A(1) (i.e. x = "abc"), it is not possible to access to each character of x, and I need to modify such strings, so I need access to x's characters. On the other hand, if I declare the array as follows:
A = ['abc', 'def', 'ghi', 'lmn'];
it results that length(A) = 12 (I want it to be 4), and A(1) = 'a', and not 'abc' as I would like it to be! How do I overcome to this?

댓글을 달려면 로그인하십시오.

### 답변(2개)

Stalin Samuel 9 Oct 2017
A = {'abc', 'def', 'ghi', 'lmn'};
A{1}
ans = 'abc'
A{1}(1)
ans = 'a'

#### 댓글 수: 0

댓글을 달려면 로그인하십시오.

Guillaume 9 Oct 2017
편집: Guillaume 9 Oct 2017
This is fully explained in the documentation. You use curly braces to access individual strings as char vector and then use normal indexing to access individual characters:
A = ["abc", "def", "ghi", "lmn"];
A{1}(1) %returns 'a'
If starting from your x, you still need to use the curly braces:
A = ["abc", "def", "ghi", "lmn"];
x = A(1);
x{1}(2) %returns 'b'
I'll admit it's a bit awkward.

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!