首页 > 解决方案 > 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>

我很感激任何帮助!

标签: javascript

解决方案


您应该使用正则表达式:

let input = " /command test command";
let [, command, args] = input.match(/^\W*(\S+)\s+(.*)$/);

console.log("command:", command);
console.log("args:", args);


推荐阅读