Java 是否可以只获取字符串的第一个字符?
我在Java中有一个for循环Java 是否可以只获取字符串的第一个字符?,java,char,Java,Char,我在Java中有一个for循环 for (Legform ld : data) { System.out.println(ld.getSymbol()); } 上述for循环的输出为 垫 计算机辅助设计 计算机辅助设计 计算机辅助设计 现在我的问题是,是否可以只获取字符串的第一个字符,而不是整个Pad或CaD 例如,如果是Pad,我只需要第一个字母,即p 例如,如果是CaD,我只需要第一个字母,即C 这可能吗?String有一个charAt方法返回指定位置的字符。与数组和Lists一样
for (Legform ld : data)
{
System.out.println(ld.getSymbol());
}
上述for循环的输出为
垫
计算机辅助设计
计算机辅助设计
计算机辅助设计
现在我的问题是,是否可以只获取字符串的第一个字符,而不是整个Pad或CaD
例如,如果是Pad,我只需要第一个字母,即p例如,如果是CaD,我只需要第一个字母,即C
这可能吗?
String
有一个charAt
方法返回指定位置的字符。与数组和List
s一样,String
是0索引的,即第一个字符位于索引0
处,最后一个字符位于索引length()-1
因此,假设getSymbol()
返回一个字符串
,要打印第一个字符,可以执行以下操作:
System.out.println(ld.getSymbol().charAt(0)); // char at index 0
使用ld.charAt(0)
。它将返回字符串的第一个字符
使用ld.substring(0,1)
,您可以获得第一个字符,因为String
Java字符串只是一个字符数组。char c=s[0],其中s是字符串 在这里,我从EditText中获取手机号码,它可能从+91或0开始,但我得到的是实际的10位数。
希望这对你有帮助
String mob=edit_mobile.getText().toString();
if (mob.length() >= 10) {
if (mob.contains("+91")) {
mob= mob.substring(3, 13);
}
if (mob.substring(0, 1).contains("0")) {
mob= mob.substring(1, 11);
}
if (mob.contains("+")) {
mob= mob.replace("+", "");
}
mob= mob.substring(0, 10);
Log.i("mob", mob);
}
<强>回答C++ 14,< /强> < /p>
是的,您可以通过下面的代码片段获得字符串的第一个字符
string s = "Happynewyear";
cout << s[0];
string s=“Happynewyear”;
cout字符串有一个substring方法,该方法返回指定位置的字符串
String name="123456789";
System.out.println(name.substring(0,1));
唯一的问题是,结果值是<代码> char < />代码>不是<代码>字符串。C++或C++。在Java中,它可以工作,但前提是将字符串转换为char数组。例如,如下所示:s.toCharArray()[0]代码>
String name="123456789";
System.out.println(name.substring(0,1));