Java 取出给定字符串的一部分,并将所取部分作为变量返回?
背景:Java的极端初学者,所以我刚刚开始熟悉字符串。我一直在到处寻找SO和JavaAPI 我的问题是:我正在做一个聊天机器人项目。目标是当有人输入I something you时,机器人应该返回Why do you something me?什么都有,比如说爱或者说我爱你,让机器人回来你为什么爱我 这,希望也应该与多个字,所以如果有人写信给机器人我真的不喜欢你,机器人会回答为什么你真的不喜欢我 为了做到这一点,我想把“我”和“你”切掉,把剩下的部分,整理成一个新的句子。我很熟悉如果我知道字符串我会怎么做,但是因为任何人都可以输入任何东西,作为一个初学者我遇到了麻烦。以下是我得到的: 公共字符串getResponseString语句 { 字符串响应=; 如果findKeywordstatement,I>=0 ||findKeywordstatement,您>=0 { 响应=TransformWhyDoyYouStatementStatement语句; } 返回响应;Java 取出给定字符串的一部分,并将所取部分作为变量返回?,java,string,if-statement,Java,String,If Statement,背景:Java的极端初学者,所以我刚刚开始熟悉字符串。我一直在到处寻找SO和JavaAPI 我的问题是:我正在做一个聊天机器人项目。目标是当有人输入I something you时,机器人应该返回Why do you something me?什么都有,比如说爱或者说我爱你,让机器人回来你为什么爱我 这,希望也应该与多个字,所以如果有人写信给机器人我真的不喜欢你,机器人会回答为什么你真的不喜欢我 为了做到这一点,我想把“我”和“你”切掉,把剩下的部分,整理成一个新的句子。我很熟悉如果我知道字符串
} 作为参考,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个参数。如果没有这些参数,是否可以实现我想要的功能?非常感谢。