Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中用于删除点符号(.)及其前面的字符的正则表达式_Java_Regex - Fatal编程技术网

java中用于删除点符号(.)及其前面的字符的正则表达式

java中用于删除点符号(.)及其前面的字符的正则表达式,java,regex,Java,Regex,我必须用java创建一个程序,从用户那里读取包含点的字符串。在上面签字。我需要删除前面的点和字符,然后打印结果 如果输入是:mx.erw.ho.abe.a 它应该印上:梅哈巴 或者如果输入是:lok.okl。u、 y.t.t.tho.p.e.sku.y 它应该打印:看看天空 这就是我到目前为止所做的,这是一种工作,但它甚至可以删除单词的最后一个字母,如果它是merhaba,这个代码打印merhab,如果它是look the sky,它打印look the sk 我怎样才能解决这个问题 publi

我必须用java创建一个程序,从用户那里读取包含点的字符串。在上面签字。我需要删除前面的点和字符,然后打印结果

如果输入是:mx.erw.ho.abe.a

它应该印上:梅哈巴

或者如果输入是:lok.okl。u、 y.t.t.tho.p.e.sku.y

它应该打印:看看天空

这就是我到目前为止所做的,这是一种工作,但它甚至可以删除单词的最后一个字母,如果它是merhaba,这个代码打印merhab,如果它是look the sky,它打印look the sk

我怎样才能解决这个问题

public class HiddenMessage {
    
    public static void main (String [] args) {
        
        String [] message="lok.okl. u.ay.t t.tho.p.e e.sku.y".split("[.]");
        
            for(int i=0;i<message.length;i++) {
                
                    System.out.print(message[i].substring(0, message[i].length()-1));
            }
        
    
    }
}
您可以使用replaceAll方法和regex\\w\\

试试这个:

String result = "lok.okl. u.ay.t t.tho.p.e e.sku.y".replaceAll("\\w\\.", "");
\\w:匹配单词字符字母、数字、下划线 \\. : 匹配点字符 如果您使用正则表达式。\\。它字面上匹配点和它前面的字符

. : 匹配任何字符 您可以使用replaceAll方法和regex\\w\\

试试这个:

String result = "lok.okl. u.ay.t t.tho.p.e e.sku.y".replaceAll("\\w\\.", "");
\\w:匹配单词字符字母、数字、下划线 \\. : 匹配点字符 如果您使用正则表达式。\\。它字面上匹配点和它前面的字符

. : 匹配任何字符
和它前面的字符-不应该是\\w。相反?@McEmperon是的,我考虑了单词字符,但你是对的,要添加一个更新..如果我想从用户那里读取字符串怎么办?因为它可以很好地处理您发送的代码,但是当我尝试从用户那里读取它时,它只打印look@Leticia请使用您从用户处获取输入的部分更新代码,以便我可以帮助您。是的,我刚刚更新了它。顺便说一句,你展示的第二种方法是。而不是\\w,不起作用,因此我将使用\\w,因为它是fine,并且它前面的字符不应该是\\w。相反?@McEmperon是的,我考虑了单词字符,但你是对的,要添加一个更新..如果我想从用户那里读取字符串怎么办?因为它可以很好地处理您发送的代码,但是当我尝试从用户那里读取它时,它只打印look@Leticia请使用您从用户处获取输入的部分更新代码,以便我可以帮助您。是的,我刚刚更新了它。顺便说一句,你展示的第二种方法是。而不是\\w,不起作用,所以我使用\\w,因为它很好
Scanner input = new Scanner(System.in);

System.out.println("Please enter the message: ");

String message = input.nextLine();

String m1 = message.replaceAll("\\w\\.", "");

System.out.print(m1);