【问题标题】:Is it possible to get only the first character of a String?是否可以只获取字符串的第一个字符?
【发布时间】:2011-12-21 11:57:00
【问题描述】:

我在 Java 中有一个 for 循环。

for (Legform ld : data)
{
    System.out.println(ld.getSymbol());
}

上述for循环的输出为

现在我的问题是是否可以只获取字符串的第一个字符而不是整个 Pad 或 CaD

例如,如果是 Pad,我只需要第一个字母,即 P
例如,如果它是 CaD,我只需要第一个字母,即 C

这可能吗?

【问题讨论】:

    标签: java char


    【解决方案1】:

    String 有一个charAt 方法,可以返回指定位置的字符。与数组和Lists 一样,String 是 0 索引的,即第一个字符位于索引 0,最后一个字符位于索引 length() - 1

    所以,假设getSymbol() 返回String,要打印第一个字符,您可以这样做:

    System.out.println(ld.getSymbol().charAt(0)); // char at index 0
    

    【讨论】:

    • 唯一的问题是结果值是char 而不是string
    【解决方案2】:

    使用ld.charAt(0)。它将返回String 的第一个char

    使用ld.substring(0, 1),可以得到第一个字符为String

    【讨论】:

      【解决方案3】:

      Java 字符串只是一个字符数组。因此, char c = s[0] 其中 s 是字符串。

      【讨论】:

      • 那是 C 或 C++。在 Java 中,它会起作用,但前提是您将字符串转换为 char 数组。例如,像这样:s.toCharArray()[0];
      【解决方案4】:

      在这里,我从 EditText 获取 Mobile No 它可能从 +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);
      
                          }
      

      【讨论】:

        【解决方案5】:

        回答 C++ 14,

        是的,你可以通过下面的代码sn-p简单地得到一个字符串的第一个字符。

        string s = "Happynewyear";
        cout << s[0];
        

        如果要将第一个字符存储在单独的字符串中,

        string s = "Happynewyear";
        string c = "";
        c.push_back(s[0]);
        cout << c;
        

        【讨论】:

          【解决方案6】:

          字符串有substring方法,返回指定位置的字符串。

          String name="123456789";
          System.out.println(name.substring(0,1));
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-01-19
            • 2011-03-26
            • 2012-11-10
            • 1970-01-01
            • 1970-01-01
            • 2015-05-21
            • 1970-01-01
            相关资源
            最近更新 更多