为了账号安全,请及时绑定邮箱和手机立即绑定

将字符串分成 3 部分,前 2 个单词作为单词,最后一个作为混合单词

将字符串分成 3 部分,前 2 个单词作为单词,最后一个作为混合单词

森林海 2023-05-11 10:14:07
一个描述性的标题不容易写,所以我将在这里解释更多我想做的事情。我有一个聊天室脚本和服务器端我正在创建用户可以输入的命令来聊天等/报告用户名原因当然当字符串到达服务器时它看起来像这样'/报告蒂姆滥用聊天'或'/举报 John,因为他喜欢发布烦人的链接' 我可以使用以下代码获取 /report、用户名和第一个理由。var string = MessageString;var temp = string.split(" ");var CommandOne = temp[0];var CommandTwo = temp[1];var CommandThree = temp[2];问题是字符串的最后一部分,我怎样才能抓住字符串中第二个单词之后的原因部分的所有内容?CommandOne 将显示 /report,CommandTwo 将显示用户名,但 CommandThree 将仅显示原因的第一个词而不是整个原因。我也一直在尝试使用以下代码,但无法使其正常工作。var original = MessageString;var result = original.substr(original.indexOf(" ") + 1);var CommandThree = result.substr(result.indexOf(" ", "") + 1);  我在这里查看了类似的帖子,但找不到任何这样做的帖子。
查看完整描述

3 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

只需使用slice获取所有剩余的单词,并将它们重新组合成一个字符串:


var string = MessageString;

var temp = string.split(" ");

var CommandOne = temp[0];

var CommandTwo = temp[1];

var CommandThree = temp.slice(2).join(" ");


查看完整回答
反对 回复 2023-05-11
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

您可以尝试以下操作


var string = MessageString;

var temp = string.split(" ");


var CommandOne = temp.shift();

var CommandTwo = temp.shift();

var CommandThree = temp.join(" ");


查看完整回答
反对 回复 2023-05-11
?
GCT1015

TA贡献1827条经验 获得超4个赞

Robin Zigmond 先发制人。切片是要走的路。


const message = '/report Tim for abusing chat';

const words = message.split(' ');

const action = words[0];

const username = words[1];

const reason = words.slice(2).join(' ');

console.log('action:', action);

console.log('username:', username);

console.log('reason:', reason);


查看完整回答
反对 回复 2023-05-11
  • 3 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信