我有以下简单的代码:
<input id="nick" type="text"/>
<script>
var c = document.getElementById('nick').value
</script>
我需要删除名称的一部分,只有当它有方括号时[]
。换句话说,如果它有这个名字: 'Hola soy juan [soy pro]'
,它看起来像这样: 'Hola soy juan'
。
我有以下简单的代码:
<input id="nick" type="text"/>
<script>
var c = document.getElementById('nick').value
</script>
我需要删除名称的一部分,只有当它有方括号时[]
。换句话说,如果它有这个名字: 'Hola soy juan [soy pro]'
,它看起来像这样: 'Hola soy juan'
。
另一种方法是
replace
与正则表达式1/\[.+?]/g
结合使用,其中:\[
: 转义左括号。.
: 任意字符+
: 一个或多个字符等于前一个字符?
:小气,次数最少g
: 全球的在下面的代码中,包含了两种情况,一种类似于 OP 指示的一种情况,另一种情况稍微复杂一些。
您可以在循环中使用 substr 和 replace 来删除里面的所有文本
[ ]
例如,如果您尝试'Javier [the best] from [his house in] Panama',结果将是
Javier de Panama
然后我们用代码去掉所有重复的空格
output.replace(/\s+/g,' ').trim();
希望对你有帮助
如果有人感兴趣,我已经这样做了: