我目前正在编写一个音乐机器人,可以从Spotify获取音乐。我正在努力检查歌曲名称和艺术家是否都包含在用户查询中(需要因为Spotify在歌曲名称之前查找专辑名称,因此它会查找适合用户查询的专辑中最受欢迎的歌曲)
这是我目前的代码:
String query="Megadeth Holy Wars";
String artist="Megadeth";
String songName="Holy Wars...The Punishment Due - 2004 Digital Remaster";
System.out.println("Query >>> "+query.toLowerCase());
System.out.println("Artist >>> "+artist.toLowerCase());
System.out.println("Song name >>> "+songName.toLowerCase());
System.out.println("Query contains artist: "+query.toLowerCase().contains(artist.toLowerCase()));
System.out.println("Query contains song name: "+query.toLowerCase().contains(songName.toLowerCase()));
这是输出:
Query >>> megadeth holy wars
Artist >>> megadeth
Song name >>> holy wars...the punishment due - 2004 digital remaster
Query contains artist: true
Query contains song name: false
目前我使用拆分,但我不认为这是一个很好的方法来处理它所以我想知道是否有一个好方法,两个语句都是真的。
我相信你将不得不使用两次搜索。一个用于艺术家,另一个用于歌曲名称 - 正如塞德里克所建议的那样 - 否则这将是一个复杂的查询非常困难。
我希望这有帮助!