假设用户输入了一个字符串,例如"My name is Oz, the great and powerful"
。我已使用子字符串切断"My name is"
,但我想切断", the great and powerful"
并仅保留Oz
。
有没有这样做的方法?
请记住,用户输入的字符串对我们来说是未知的。
答案 0 :(得分:0)
您可以使用Regex,您必须确定它将匹配的模式,这在您的情况下很容易,因为名称前的字符串已修复"我的名字是&#34 ; 并且名称后面有一个逗号,因此模式将为(My name is )(.*)(,)(.*)
,并使用以下代码生成输出:
// String to be scanned to find the pattern.
String line = "My name is Oz, the great and powerful";
String pattern = "(My name is )(.*)(,)(.*)";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find( )) {
String name = m.group(2);
}
如果没有逗号,那么模式必须是:
String pattern = "(My name is )([A-Z]*[a-z]*)(\\s)(.*)";
您可以查看here,这是一个很棒的教程。