MatLab相当于java中的charAt()

时间:2013-12-11 05:40:31

标签: java matlab

我是MatLab的初学者,但我在java方面有很多经验。我正在循环遍历字符串,但我需要能够从java中执行一个简单的方法,如charAt()。我已经看过堆栈溢出并试图谷歌任何等效的方法,但我一直没有解决方案。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

字符串只是Matlab中的数组。因此,您可以轻松创建自己的简单charAt函数:

str = 'somestring';
charAt = @(str,idx)str(idx);

然后charAt(str,5)将返回s(此简单函数不输入验证)。但是,直接索引字符串通常更容易:str(5)

请注意,Java的charAt使用从零开始的索引,而Matlab是基于零的索引。您可以使用idx+1来模拟Java版本。

答案 1 :(得分:2)

如果你循环现有的字符串,它将是这样的:

mystring = 'example'; % The string
for ind = 1:length(mystring) % For loop from beginning to end of string
    current_char = mystring(ind); % Character at the current index of the string
    fprintf(current_char); % Prints the character to screen
end

完成for循环后的最终打印输出在这种情况下会显示为example

在Matlab中,字符串向量的处理方式与任何其他向量一样,您可以使用v访问向量v(ind)的元素,其中ind是您想要的元素的索引访问。这就是current_char = mystring(ind)行中发生的事情。阅读本文以获取更多信息:http://www.mathworks.com/company/newsletters/articles/matrix-indexing-in-matlab.html

答案 2 :(得分:1)

如果您愿意,可以在matlab中使用java中的charAt

str = 'somestring';
strJava = java.lang.String(str); % convert to java string
strJava.charAt(5) 
ans =

t