Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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中findInLine方法中的字符串模式_Java_String_Methods - Fatal编程技术网

Java中findInLine方法中的字符串模式

Java中findInLine方法中的字符串模式,java,string,methods,Java,String,Methods,我们可以在findInLine()方法中使用哪些字符串模式。例如,如果输入是电子邮件地址,例如vinny。kinny@gmail.com,如何在java中使用findInLine()方法从输入中仅查找“vinny.kinny”。查看java中的正则表达式: 在编写方法时,最好指定在哪个类(哪个包/库等)中可以找到该方法。 我不知道整个Java API,但我从来没有听说过findInLine()方法。 除非你打算自己写这个方法,否则这不是很清楚 如果您计划编写此方法,则可以使用类中的任何方法。例如

我们可以在findInLine()方法中使用哪些字符串模式。例如,如果输入是电子邮件地址,例如vinny。kinny@gmail.com,如何在java中使用findInLine()方法从输入中仅查找“vinny.kinny”。

查看java中的正则表达式:


在编写方法时,最好指定在哪个类(哪个包/库等)中可以找到该方法。
我不知道整个Java API,但我从来没有听说过findInLine()方法。
除非你打算自己写这个方法,否则这不是很清楚

如果您计划编写此方法,则可以使用类中的任何方法。例如,indexOf()可以让您找到“@”的索引,然后可以使用substring()方法提取前面的部分。

或者,如果需要很大的灵活性,您可以使用正则表达式。

没有直接回答您的问题,但我将使用StringTokenizer:

new StringTokenizer(emailString, "@");

假设您正在讨论
Scanner
类的
findInLine()
方法, 这些是Javadoc for中描述的正则表达式模式。

采用与之相同的模式。这是一个正则表达式(Java风格),在类的javaDoc中可以找到一个很好的文档。

我就是这么做的:

import java.util.*;
import java.util.regex.Pattern;

public class GetUserName {

 public static void main(String[] args) {
  Scanner scn = new Scanner(System.in);
  String userName;  
  System.out.println("Enter your email address: ");
  userName = scn.findInLine(Pattern.compile("[a-z]+"));

  System.out.println(userName);
 }

}
控制台窗口的输出:

Enter your email address:
thyaga@gmail.com
thyaga
--------------------->

这就是我学到的:模式类,FindInLine方法,以及如何使用模式参数,regex构造

谢谢大家,再次感谢你们提供的帮助


PS:电子邮件的正则表达式不完整,必须进行改进。

引用,javadoc:“StringTokenizer是一个遗留类,出于兼容性原因保留,尽管在新代码中不鼓励使用它。”-
String.split()
是拆分StringsThanks的推荐方法,我不知道这一点。我应该更仔细地阅读我正在使用的所有类的Javadoc。