我不想以正式的方式使用for
循环遍历字符串的所有元素“特定次数”(字符串的长度)。
是否有任何字符始终位于Java中每个字符串的末尾,就像在c中一样?
答案 0 :(得分:7)
您有两个基本选项:
String myString = "ABCD";
for (char c : myString.toCharArray())
{
System.out.println("Characer is " + c);
}
for (int i = 0; i < myString.length(); i++)
{
System.out.println("Character is " + myString.charAt(i));
}
第一个循环遍历字符数组,第二个循环使用普通的索引循环。
但是,Java确实支持像'\ n'这样的字符(新行)。如果要检查是否存在此字符,可以使用将返回字符位置的indexOf('\ n')方法,如果找不到,则使用-1。请注意,'\ n'字符不需要能够结束字符串,因此您不能单独依赖它。Java中的字符串没有C中的NULL终止符,因此您需要使用length()方法来查找字符串的长度。
答案 1 :(得分:3)
是否有任何字符始终位于java中每个字符串的tnd,就像它在c中一样?
不,这不是Java字符串的工作方式。
我不想通过使用for循环遍历字符串的所有元素“特定的次数”(字符串的长度),以正式方式执行。 的
唯一的选择可能就是附加一个你自己的特殊字符:
yourString += '\0';
(但请注意yourString
中间也可能包含\0
; - )
如果你在字符串中迭代字符,你也可以
for (char c : yourString.toCharArray())
process(c);
答案 2 :(得分:0)
String[] splitUpByLines = multiLineString.split("\r\n");
将返回String
个数组,每个数组代表多行字符串的一行。
答案 3 :(得分:0)
System.getProperty("line.separator");
这将告诉您OS独立的新行字符。您可以根据此new line
字符检查字符串的字符。