从字符串中删除点和空格
Remove dots and spaces from strings
我想用正则表达式 text.replace(/[ .]+/g, '')
.
删除点 .
和空格
This is an 8-string 12.34.5678
; and this is another 13-string 1234 5678 9123 0
okay?
但主要问题是它从句子中删除了所有点和空格。
Thisisan8-string12345678;andthisisanother13-string1234567891230okay?
- 8 弦
12.34.5678
- 另外13串
1234 5678 9123 0
需要转换为。
- 8 弦
12345678
- 另一个13弦
1234567891230
所以句子将是:
This is an 8-string 12345678
; and this is another 13-string 1234567891230
okay?
我做错了什么?我坚持 finding/matching 正确的解决方案。
您可以使用
s.replace(/(\d)[\s.]+(?=\d)/g, '')
s.replace(/(?<=\d)[\s.]+(?=\d)/g, '')
参见regex demo。
详情
(\d)
- 第1组(替换模式中的</code>是组的值):一个数字</li>
<li><code>[\s.]+
- 一个或多个空格或 .
个字符
(?=\d)
- 确保下一个字符是数字的正向前瞻。
参见JavaScript演示:
const text = 'This is an 8-string 12.34.5678; and this is another 13-string 1234 5678 9123 0 okay?';
console.log(text.replace(/(\d)[\s.]+(?=\d)/g, ''));
我想用正则表达式 text.replace(/[ .]+/g, '')
.
.
和空格
This is an 8-string
12.34.5678
; and this is another 13-string1234 5678 9123 0
okay?
但主要问题是它从句子中删除了所有点和空格。
Thisisan8-string12345678;andthisisanother13-string1234567891230okay?
- 8 弦
12.34.5678
- 另外13串
1234 5678 9123 0
需要转换为。
- 8 弦
12345678
- 另一个13弦
1234567891230
所以句子将是:
This is an 8-string
12345678
; and this is another 13-string1234567891230
okay?
我做错了什么?我坚持 finding/matching 正确的解决方案。
您可以使用
s.replace(/(\d)[\s.]+(?=\d)/g, '')
s.replace(/(?<=\d)[\s.]+(?=\d)/g, '')
参见regex demo。
详情
(\d)
- 第1组(替换模式中的</code>是组的值):一个数字</li> <li><code>[\s.]+
- 一个或多个空格或.
个字符(?=\d)
- 确保下一个字符是数字的正向前瞻。
参见JavaScript演示:
const text = 'This is an 8-string 12.34.5678; and this is another 13-string 1234 5678 9123 0 okay?';
console.log(text.replace(/(\d)[\s.]+(?=\d)/g, ''));