我在this question找到了一个几乎完美的答案,但我需要稍微调整一下。我已经阅读了正则表达式的基础知识,并且我使用https://regex101.com/,但我无法弄清楚。
使用"string".replace(/\d+$/, '')
我可以删除字符串末尾的任何数字。但是,我还需要删除任何具有小数格式的数字,例如#.#
或##.#
以及整数,但只有当它们出现在字符串的末尾时才会删除。从regex101我发现$
是字符串的结尾。
我可以使用.replace(/\d+([.]\d+)?/g)
来移除数字和浮点数,但是它会将它们从整个字符串中移除,而不仅仅是当它们出现在最后时,我无法确定将{{1因为我还没有真正了解正则表达式而无法使其正常工作。
这似乎是一个小而愚蠢的问题,但我很感激帮助。
由于
答案 0 :(得分:3)
您可以使用
height: auto;
模式匹配
.replace(/\d+(?:\.\d+)?$/, '')
- 一个或多个数字\d+
- 非捕获组((?:\.\d+)?
使其无法捕获,即您无法访问此组捕获的值) ?:
然后1+位数的可选序列.
- 字符串结束。要删除数字前的任何0+空格,请添加$
(其中\s*
匹配任何空格,\s
量词使正则表达式引擎匹配(连续)0或更多在模式开始时,与此模式匹配的字符。
请参阅regex demo。