删除非字母字符但保留有理数字

时间:2014-08-10 11:34:04

标签: regex

我有这个示例字符串:

24bit 88.2kHz 5.1 (Surround Free Lossless Audio Codec).

我想删除所有非字母字符包括结束句子的点但是想保留一个有理数 - 所以结果应该是:

24bit 88.2kHz 5.1 Surround Free Lossless Audio Codec

3 个答案:

答案 0 :(得分:0)

试试以下正则表达式:

(?<!\d)\.|\.+$|[^a-zA-Z0-9. ]

demo

答案 1 :(得分:0)

这应该有效:

[^a-zA-Z0-9 .]

答案 2 :(得分:0)

如果您使用的是C#,可以使用:

[\p{M}\p{P}\p{S}\p{C}-[.\r\n]]|(?<!\d)\.

如果您使用Java:

[\p{M}\p{P}\p{S}\p{C}&&[^.\r\n]]|(?<!\d)\.