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 取出给定字符串的一部分,并将所取部分作为变量返回?_Java_String_If Statement - Fatal编程技术网

Java 取出给定字符串的一部分,并将所取部分作为变量返回?

Java 取出给定字符串的一部分,并将所取部分作为变量返回?,java,string,if-statement,Java,String,If Statement,背景:Java的极端初学者,所以我刚刚开始熟悉字符串。我一直在到处寻找SO和JavaAPI 我的问题是:我正在做一个聊天机器人项目。目标是当有人输入I something you时,机器人应该返回Why do you something me?什么都有,比如说爱或者说我爱你,让机器人回来你为什么爱我 这,希望也应该与多个字,所以如果有人写信给机器人我真的不喜欢你,机器人会回答为什么你真的不喜欢我 为了做到这一点,我想把“我”和“你”切掉,把剩下的部分,整理成一个新的句子。我很熟悉如果我知道字符串

背景:Java的极端初学者,所以我刚刚开始熟悉字符串。我一直在到处寻找SO和JavaAPI

我的问题是:我正在做一个聊天机器人项目。目标是当有人输入I something you时,机器人应该返回Why do you something me?什么都有,比如说爱或者说我爱你,让机器人回来你为什么爱我

这,希望也应该与多个字,所以如果有人写信给机器人我真的不喜欢你,机器人会回答为什么你真的不喜欢我

为了做到这一点,我想把“我”和“你”切掉,把剩下的部分,整理成一个新的句子。我很熟悉如果我知道字符串我会怎么做,但是因为任何人都可以输入任何东西,作为一个初学者我遇到了麻烦。以下是我得到的:

公共字符串getResponseString语句 { 字符串响应=; 如果findKeywordstatement,I>=0 ||findKeywordstatement,您>=0 { 响应=TransformWhyDoyYouStatementStatement语句; } 返回响应;
} 作为参考,Java有一个非常好的正则表达式匹配包:Java.util.regex。这些类允许您测试字符串是否与I-you这样的模式匹配,如果匹配,则从字符串中检索特定的命名组

例如:

Pattern pattern = Pattern.compile("I (.*) you");
Matcher matcher = pattern.matcher("I really dig you");
if (matcher.matches()) {
    System.out.println("Why do you " + matcher.group() + " me?");
}

请出示findKeyword代码。我将发布整个内容:好了@Jean FrançoisSavardIn您第一次调用findKeyword时,您传递了两个参数,而您给我们的方法包含3个参数。如果没有这些参数,是否可以实现我想要的功能?非常感谢。