除特定标记组合外,单词之间的标记数量限制
Limit amount of marks beetwen words except specific marks combination
我试图在字符串中只保留一个白色-space 单词之间,限制字符串中点、逗号重复标记的数量,用标点符号替换合并的单词(如果介于和之间)保持白色-space。
我想限制所有标记的数量,并在问号除外的单词之间只保留一个,如果问号在点之前,我想保留两个,例如,如果输入字符串是:
hello,,, world, how are you?.. hi...,.,.
现在我的结果是:
hello, world, how are you? hi.
但所需的输出应该是:
hello, world, how are you?. hi.
不知道该怎么做
一个非常简单的解决方案可能是
([.,])+|( )+
它匹配逗号或点,并且由于它在捕获组中,所以最后一个实例被捕获。将匹配换成捕获,将只剩下一个。
编辑 为了处理多个空格,添加了另一个捕获组。它匹配空格,捕获最后一个。因此,与两个捕获交换匹配将同时处理标点符号和空格。
我试图在字符串中只保留一个白色-space 单词之间,限制字符串中点、逗号重复标记的数量,用标点符号替换合并的单词(如果介于和之间)保持白色-space。
我想限制所有标记的数量,并在问号除外的单词之间只保留一个,如果问号在点之前,我想保留两个,例如,如果输入字符串是:
hello,,, world, how are you?.. hi...,.,.
现在我的结果是:
hello, world, how are you? hi.
但所需的输出应该是:
hello, world, how are you?. hi.
不知道该怎么做
一个非常简单的解决方案可能是
([.,])+|( )+
它匹配逗号或点,并且由于它在捕获组中,所以最后一个实例被捕获。将匹配换成捕获,将只剩下一个。
编辑 为了处理多个空格,添加了另一个捕获组。它匹配空格,捕获最后一个。因此,与两个捕获交换匹配将同时处理标点符号和空格。