Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串中的前导或尾随空格移出星号_Javascript_String - Fatal编程技术网

Javascript 将字符串中的前导或尾随空格移出星号

Javascript 将字符串中的前导或尾随空格移出星号,javascript,string,Javascript,String,我正在尝试将粗体字的无效标记转换为有效标记。对于主要部分,我已经想出了如何让单词被星号包围,但现在我正试图找到一种方法来转换它: **A bold text ** 为此: **A bold text** 将尾随空格向右移动两步,使其脱离星号 前导空格也需要同样的设置 有什么建议吗?谢谢 编辑:我需要保留空格,但不在粗体语法范围内,而不是删除它。您可以使用replace \*{2}(\s*)([^*]+?)(\s*)\*{2} let str=`**粗体文本**` let replac

我正在尝试将粗体字的无效标记转换为有效标记。对于主要部分,我已经想出了如何让单词被星号包围,但现在我正试图找到一种方法来转换它:

**A bold text **
为此:

**A bold text** 
将尾随空格向右移动两步,使其脱离星号

前导空格也需要同样的设置

有什么建议吗?谢谢

编辑:我需要保留空格,但不在粗体语法范围内,而不是删除它。

您可以使用replace

\*{2}(\s*)([^*]+?)(\s*)\*{2}

let str=`**粗体文本**`
let replacer=(str)=>{
返回str.replace(/\*{2}(\s*)([^*]+?)(\s*)\*{2}/g,(m,g1,g2,g3)=>{
返回`${g1}**${g2}**${g3}`
})
}
控制台日志(替换器(str))
log(replace(“一些随机字符串**一些文本**”)
您可以使用replace

\*{2}(\s*)([^*]+?)(\s*)\*{2}

let str=`**粗体文本**`
let replacer=(str)=>{
返回str.replace(/\*{2}(\s*)([^*]+?)(\s*)\*{2}/g,(m,g1,g2,g3)=>{
返回`${g1}**${g2}**${g3}`
})
}
控制台日志(替换器(str))

log(replacer(“一些随机字符串**一些文本**”)
您可以使用split和trim的组合来构建预期的字符串,如下所示

const word1 = '**  Hello Keel  **';

const wordArr1 = word1.split('**');

console.log(wordArr1[0] + '**' + wordArr1[1].trim() + '**' + wordArr1[2]);

这也适用于
Hello**Keel**,欢迎使用堆栈溢出

您可以使用拆分和修剪的组合来构建预期的字符串,如下所示

const word1 = '**  Hello Keel  **';

const wordArr1 = word1.split('**');

console.log(wordArr1[0] + '**' + wordArr1[1].trim() + '**' + wordArr1[2]);


这也适用于
Hello**Keel**,欢迎使用堆栈溢出

“FE”。。。。。。。。。我的错。改成JSAh,好的。标签不会出现在标题中。这就是为什么我们有标签。:-)“FE”。。。。。。。。。我的错。改成JSAh,好的。标签不会出现在标题中。这就是为什么我们有标签。:-)这很好,但我需要将空格从星号中移除,现在它被移除了。示例:hello there[空白]到**hello there**[空白]基本上空白应该保留,但不在粗体范围内syntax@keelhauled可以有前导空格和尾随空格,你想把哪个空格放在哪个位置?对于前导空格,应该把它移出星号,左边两个字符。对于尾随的空格,在星号的右边有两个字符:)这很好,但我需要将空格从星号中移出,现在它被删除了。示例:hello there[空白]到**hello there**[空白]基本上空白应该保留,但不在粗体范围内syntax@keelhauled可以有前导空格和尾随空格,你想把哪个空格放在哪个位置?对于前导空格,应该把它移出星号,左边两个字符。对于尾随的空格,在星号的右边有两个字符:)这很好,但我需要将空格从星号中移出,现在它被删除了。示例:hello there[空白]改为**hello there**[空白]@keelhauled好的,我马上编辑答案。@keelhauled请检查修改后的答案。这很好,但我需要将该空白从星号中移出,现在它被删除了。示例:hello there[空白]进入**hello there**[空白]@keelhauled好的,我马上编辑答案。@keelhauled请检查修改后的答案。
试试这个
没有什么意义。为什么要重复相同的代码两次?只是为了说明它将同时适用于
**Hello-Keel**
Hello-Keel**,欢迎使用Stack Overflow
?当然,我对这一点不太熟悉,因此不确定注释是否应该是。谢谢你的建议,今后我会小心的。为了回答您的问题,我添加了两个不同的示例。您应该避免代码重复,因为不清楚这些代码是否相同,人们可能会认为它们由于不同的模式而不同。或者,在“我的编辑”中,您可以将代码包装到一个函数中,并将
word1
word2
传递到该函数,然后返回结果。
试试这个
并没有真正的意义。为什么要重复相同的代码两次?只是为了说明它将同时适用于
**Hello-Keel**
Hello-Keel**,欢迎使用Stack Overflow
?当然,我对这一点不太熟悉,因此不确定注释是否应该是。谢谢你的建议,今后我会小心的。为了回答您的问题,我添加了两个不同的示例。您应该避免代码重复,因为不清楚这些代码是否相同,人们可能会认为它们由于不同的模式而不同。或者,在“我的编辑”中,您可以将代码包装成一个函数,并将
word1
word2
传递给该函数,然后返回结果。