如何替换所选正则表达式的最后一个字符?
How do I replace the last character of the selected regex?
我希望这个字符串 {Rotation:[45f,90f],lvl:10s}
变成 {Rotation:[45,90],lvl:10}
.
我试过这个:
const bar = `{Rotation:[45f,90f],lvl:10s}`
const regex = /(\d)\w+/g
console.log(bar.replace(regex, '$&'.substring(0, -1)))
我也试过 select 使用 $
最后的字母,但我似乎做对了。
以下正则表达式将匹配每组一个或多个数字后跟 f
或 s
。
</code>表示捕获组<code>(\d)
.
捕获的内容
const bar = `{Rotation:[45f,90f],lvl:10s}`
const regex = /(\d+)[fs]/g
console.log(bar.replace(regex, ''))
看看这个:
const str = `{Rotation:[45f,90f],lvl:10s}`.split('');
const x = str.splice(str.length - 2, 1)
console.log(str.join(''));
您可以使用正向先行来匹配右大括号,但不能捕获它。那么单个字符可以用空字符串代替。
const bar= '{Rotation:[45f,90f],lvl:10s}'
const regex = /.(?=})/g
console.log(bar.replace(regex, ''))
{Rotation:[45f,90f],lvl:10}
您可以使用
bar.replace(/(\d+)[a-z]\b/gi, '')
参见regex demo。
这里,
(\d+)
- 将一个或多个数字捕获到组 1
[a-z]
- 匹配任何字母
\b
- 在单词边界处,即。在词尾
gi
- 所有出现,不区分大小写
替换为第 1 组值,</code>。</p>
<p>查看 JavaScript 演示:</p>
<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre><code>const bar = `{Rotation:[45f,90f],lvl:10s}`
const regex = /(\d+)[a-z]\b/gi
console.log(bar.replace(regex, ''))
我希望这个字符串 {Rotation:[45f,90f],lvl:10s}
变成 {Rotation:[45,90],lvl:10}
.
我试过这个:
const bar = `{Rotation:[45f,90f],lvl:10s}`
const regex = /(\d)\w+/g
console.log(bar.replace(regex, '$&'.substring(0, -1)))
我也试过 select 使用 $
最后的字母,但我似乎做对了。
以下正则表达式将匹配每组一个或多个数字后跟 f
或 s
。
</code>表示捕获组<code>(\d)
.
const bar = `{Rotation:[45f,90f],lvl:10s}`
const regex = /(\d+)[fs]/g
console.log(bar.replace(regex, ''))
看看这个:
const str = `{Rotation:[45f,90f],lvl:10s}`.split('');
const x = str.splice(str.length - 2, 1)
console.log(str.join(''));
您可以使用正向先行来匹配右大括号,但不能捕获它。那么单个字符可以用空字符串代替。
const bar= '{Rotation:[45f,90f],lvl:10s}'
const regex = /.(?=})/g
console.log(bar.replace(regex, ''))
{Rotation:[45f,90f],lvl:10}
您可以使用
bar.replace(/(\d+)[a-z]\b/gi, '')
参见regex demo。 这里,
(\d+)
- 将一个或多个数字捕获到组 1[a-z]
- 匹配任何字母\b
- 在单词边界处,即。在词尾gi
- 所有出现,不区分大小写
替换为第 1 组值,</code>。</p>
<p>查看 JavaScript 演示:</p>
<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre><code>const bar = `{Rotation:[45f,90f],lvl:10s}`
const regex = /(\d+)[a-z]\b/gi
console.log(bar.replace(regex, ''))