Jes*_*per 1 c# regex user-input
当人们在我的网站上发布一些文字时,他们有时会插入一长串连字符,星号或完整的句号,如下所示
*********************************************************************
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会破坏某些结果页面上的布局,这对我来说毫无意义.
我该怎么处理?也许一个正则表达式会将同一个字符的X重复次数减少到只有5.如果是这样,那么如何......
Regex regex = new Regex("[\\*\\._-]{5,}");
string goodstring = regex.Replace(badstring, "-----");
Run Code Online (Sandbox Code Playgroud)
但是如果用户认为编写aaaaaaaaaaaaaaaaaaaaaaaaaa很有趣,那么我的正则表达式会失败.
问题是.你怎么认为我应该处理这个问题,如果你认为我应该用正则表达式处理它,那么我如何编写一个正则表达式来删除任何字符的不必要的重复(而不仅仅是*.- _像我自己的正则表达式这里) ?
要回答您的正则表达式问题:
如何编写一个可以删除任何字符的不必要重复的正则表达式
您可以使用反向引用来检测多次输入的相同字符,例如:
Regex regex = new Regex(@"(.)\1{4,}");
Run Code Online (Sandbox Code Playgroud)
但是你的问题的主要观点似乎是:
不幸的是,这会破坏某些结果页面上的布局,这对我来说毫无意义.我该怎么处理?
您应该使用样式表来指定当文本不适合其容器时应该发生的情况.例如,您可以使用overflow属性将内容设置为隐藏或滚动溢出,而不是具有默认行为,即溢出内容可以与页面上的其他元素重叠.
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |