javascript - JS | 字符串被第一个空格分割
问题描述
我试图用第一个空格分割用户输入值。
示例:用户在输入字段中输入以下命令:/command test command 。
代码现在删除该字符串中的第一个字符,即:/
现在代码应该将剩余的输入(“命令测试命令”)除以第一个空格,因此将保留以下内容:
- 命令
- 测试命令
我的问题如下:我的代码在任何空格处拆分命令。这里做了一个例子:
$("#execute").click(function() {
var command = $("#command").val().substr(1);
var args = command.split(/[ ]+/);
var commandName = args[0];
args.shift()
$("#content").text("Command: " + commandName + " Text: " + args);
});
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Berechnen votes</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<input id="command" type="text" value="/command test command">
<button id="execute">Execute</button>
<br><br>
<span id="content"></span>
</body>
</html>
我很感激任何帮助!
解决方案
您应该使用正则表达式:
let input = " /command test command";
let [, command, args] = input.match(/^\W*(\S+)\s+(.*)$/);
console.log("command:", command);
console.log("args:", args);
推荐阅读
- python - 从字典中查找最接近今天日期的日期
- c++ - 我在使用 ExecMethod() 时遇到问题。如何在 VC++ 中执行此操作?
- bazel - bazel 0.29.1 中未定义的 new_http_archive
- sql-server - 聚合内的聚合列表
- react-native - 如何在按下按钮时立即显示组件?
- mongodb - 在 Visual Studio 中处理 MongoDB 脚本
- reactjs - 如何在 React.js 中改变 WebStorm 的折叠样式?
- google-apps-script - AdminReports.UserUsageReport.get 函数不适用于 userkey
- angular - 无法分配 btn-success
- c++ - 分配器:“没有可用的成员”。我该如何解决?