【发布时间】:2019-06-26 19:07:26
【问题描述】:
我正在尝试从输入创建一个字符串,但以独特的方式格式化。
输入将是单个单词:word1
在第一个输入出现之前,字符串将为空,然后字符串myString 将为+(-word1)。
对于第二个输入:word2,myString 现在需要如下所示:
+(-word1+(-word2))
为清楚起见,第三个输入:word3、myString 现在将是:
+(-word1+(-word2+(-word3)))
我相信这需要一些比普通字符串连接更聪明的东西。我宁愿不使用循环。
是否有原生 Javascript(或可能是 JQuery)函数可以完成创建这样的字符串?
这是我所做的
var myString = '';
function someFunction()
{
...
var inputString = document.getElementById('my-input').value;
myString = myString + "+(" + "-" + inputString + ")";
}
然而这正在产生
+(-word1)+(-word2)
这是有道理的,因为字符串只是在函数中连接,需要发生的事情是一种插入。是否有一种 Javascript 方法可以使这种插入更容易?也许类似于在当前字符串的倒数第二个空格插入新字符串?但是它不是一个数组,所以我不知道这里的最佳实践。
【问题讨论】:
-
问题是从
+(-word1+(-word2))到+(-word1+(-word2+(-word3)))不能通过连接来完成,因为第一个不是第二个的子字符串。您将不得不进行更复杂的操作。如您所述,您必须在前一个字符串中插入新字符串。
标签: javascript string concatenation