程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何使用点作为分隔符?

发布于2021-11-28 10:29     阅读(589)     评论(0)     点赞(25)     收藏(5)


import java.util.Scanner;
public class Test{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        input.useDelimiter(".");
        String given = input.next();
        System.out.println(given);
    }
}

当我运行上面的代码并输入asdf.然后输入时,我什么也没得到。

它适用于"," ";" "\"" "\\\\"或其他任何东西,但只是不适用于"."...那么是否有关于点的问题,或者它只是 Eclipse IDE 或其他方面的问题?


解决方案


扫描仪使用正则表达式(regex)作为分隔符,正则表达式中的.是特殊字符,表示除行分隔符之外的任何字符。所以如果 delimiter 是任何字符,当你写它的asdf.每个字符都将被视为分隔符,而不仅仅是点。所以每次你使用next()result 时都会是空字符串,它存在于我标记的地方|

a|s|d|f|.

要创建点文字,您需要对其进行转义。你可以用\.它。还有其他方法,比如使用character class [.]

所以尝试

input.useDelimiter("\\.");


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/337843/79b5e74c8dcc559927e3/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

25 0
收藏该文
已收藏

评论内容:(最多支持255个字符)