我如何能够提取标签中的单词,包括单词之间的 space 但之后没有任何其他 space ?

How would I be able to extract the words in my label, including the space in between words but not any additional spaces afterwards?

我目前不知道如何正确使用 HTML 中的标签作为 JS 的变量。

[HTML]
<div> <!--Main Toppings-->
  <label for = "mtop"> Main Toppings: </label>
  <select name="mainToppings" id = "toppingsoption" required>
  <option disabled selected id = 'emptyoption'> -- select an option -- </option>
  <option id='pepperoniOverload' class = "mtopchoice">Pepperoni Overload - &#8369 100</option>
  <option id='hawaiian' class = "mtopchoice">Hawaiian - &#8369 50</option>
  <option id='meatOverload' class = "mtopchoice">Meat Overload - &#8369 125</option>
  </select>
</div>

[JavaScript]
var toppings = document.getElementById("toppingsoption");
    if (toppings.options[toppings.selectedIndex].id == 'emptyoption') {
        var toppingsName = '';
        var toppingsValue = 0;
    } else {
        var toppingsText = toppings.options[toppings.selectedIndex].innerHTML;
        var toppingsName = toppingsText.replace(/[^a-z]/gi, '');
        var toppingsValue = parseInt(toppingsText.replace(/\D/g,''));
    
        console.log(toppingsName, toppingsValue, "getMainToppings() working");
    }

虽然当前代码可以很好地处理 'Hawaiian' 选项,但 'Pepperoni Overload' 和 'Meat Overload' 会干扰我从标签中提取文本的方式。正确的方法是什么,这样我就可以提取 Pepperoni Overload 和 Meat Overload 这两个词,保持单词之间的 space 但不提取后面的附加 spaces?

只需提取所有内容,直到 - 符号。 像下面这样的东西应该可以工作:

/(.*)-/g

然后你可以只提取第一组并且应该得到你想要的。