javascript - 在Javascript中的引号内查找字符串
问题描述
标题解释了我的问题。我正在尝试获取一个带有引号的字符串,以便可以使用 Node.js 传递到天气模块。到目前为止,这是我的代码(我CityToSearch
尚未在此代码中设置 var,这是我需要帮助的)而且是的,我正在使用 Discord.js 发送消息。
const Discord = require('discord.js')
const bot = new Discord.Client()
const PREFIX = '/';
const embed = new Discord.MessageEmbed()
const ping = require('minecraft-server-util')
const weather = require('weather-js')
bot.on('message', message => {
if (message.channel.type === 'dm') {return}
let args = message.content.substring(PREFIX.length).split(' ')
if(message.content.startsWith(PREFIX))
switch (args[0]) {
case 'weather':
if (args.includes('"')){
var CityToSearch =
}
weather.find({search: `city, ${CityToSearch}`, degreeType: 'F'}, function(err, result) {
if(err) console.log(err);
var currentw = new Discord.MessageEmbed()
.setColor(0x00ffff)
.setTitle(`Current Weather in ${args[1]} in state ${args[2]}`)
.addField('Temperature', result[0].current.temperature)
.addField('Sky Text', result[0].current.skytext)
.addField('Humidity', result[0].current.humidity)
.addField('Wind Speed & Direction', result[0].current.winddisplay)
.addField('Feels Like', result[0].current.feelslike)
.addField('Location', result[0].current.observationpoint)
.addField('Time', result[0].current.observationtime)
.addField('Date', result[0].current.date)
message.channel.send(currentw)
});
解决方案
您可以使用"
. 这样字符串将被拆分,索引处的字符串1
将是您要查找的城市。
const str = '/weather "San Fransico" California';
console.log(str.split('"'));
console.log(str.split('"')[1]);
推荐阅读
- ios - 如何区分 View 中的代码和 ViewController 中的代码?
- html - 当我尝试消除内联块 div 之间的空间时,字体大小不起作用
- matlab - 编写一个函数,将 `n` 作为输入并返回矩阵 C,如果 i/j<2 则 Cij= 0 ,否则在 MATLAB 中 Cij =ij^2
- pyqt5 - 类、方法和模块的 PyQt5 文档在哪里?
- sonos - Sonos:创建播放列表后自动结束的播放会话。没有重复
- sql - 多条记录共享相同唯一 ID 的索引类型是什么?
- php - 如何让 Symfony 4 依赖注入与两个不同的用例场景一起工作?
- android - WorkManager 作业未重新安排或在一段时间后未触发
- python - 如何使用 python networkx 提取具有固定节点数的随机子图?
- bash - 手表和厕所没有产生任何结果