【问题标题】:How to get one character from a String如何从字符串中获取一个字符
【发布时间】:2014-02-23 15:30:55
【问题描述】:

我正在用java创建一个游戏,并希望用户输入一个字符串来移动方向,格式为:

MOVE <DIRECTION>

方向是 N、E、S 或 W。我希望能够获得“”之间的单个字符,这样做的最佳方法是什么,如目前我想不出一个像样的方法,因为这个字符串可能有不同的大小,例如可能是:

"MOVE<S>

由于 MOVE 和 <.> 之间没有空格

非常感谢您的帮助:)

【问题讨论】:

    标签: java arrays string char element


    【解决方案1】:
    String s = "MOVE<S>";
    char c = s.charAt(s.indexOf("<") + 1);
    

    使用indexOf查找“charAt+1则获取后面的字符。但实际上,您应该查找字符串api。知道是很有用的。

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        这个怎么样?

        import  java.util.regex.Matcher;
        import  java.util.regex.Pattern;
        
        /**
           <P>{@code java GetDirectionXmpl}</P>
         **/
        public class GetDirectionXmpl  {
          //Create a matcher with a dummy-string, so it can be reused (reset).
          private static Matcher mMove = Pattern.compile("^MOVE *<([NEWS])>$").matcher("");
        
           public static final void main(String[] igno_red)  {
             System.out.println("Null if badly formatted");
        
             System.out.println(getDirection("MOVE<S>"));
             System.out.println(getDirection("MOVE<BAD>"));
             System.out.println(getDirection("MOVE<W>"));
             System.out.println(getDirection("MOVE <N>"));
             System.out.println(getDirection("MOVE<N>BAD"));
           }
           public static final String getDirection(String s_input)  {
             //Reuse the same matcher
             mMove.reset(s_input);
        
             if(!mMove.matches())  {
                return  null;
             }
             return  mMove.group(1);
          }
        }
        

        输出:

        [C:\java_code\]java GetDirectionXmpl
        Null if badly formatted
        S
        null
        W
        N
        null
        

        【讨论】:

          猜你喜欢
          • 2013-03-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-21
          • 1970-01-01
          • 2013-03-29
          相关资源
          最近更新 更多