- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 asp.net 4 和 c#。
我有一个字符串可以包含:
示例字符串:
#Hi this is rèally/ special strìng!!!
我愿意:
a) 删除所有特殊字符,例如:
Hi this is rèally special strìng
b) 将所有重音字母转换为非重音字母,例如:
Hi this is really special string
c) 删除所有空格并用破折号 (-) 替换主题,例如:
Hi-this-is-really-special-string
我的目标是创建一个适合 URL 路径的字符串,以实现更好的 SEO。
知道如何使用正则表达式或其他技术来做到这一点吗?
感谢您对此的帮助!
最佳答案
类似于 mathieu 的回答,但更多是根据您的要求定制的。该解决方案首先从输入字符串中去除特殊字符和变音符号,然后将空格替换为破折号:
string s = "#Hi this is rèally/ special strìng!!!";
string normalized = s.Normalize(NormalizationForm.FormD);
StringBuilder resultBuilder = new StringBuilder();
foreach (var character in normalized)
{
UnicodeCategory category = CharUnicodeInfo.GetUnicodeCategory(character);
if (category == UnicodeCategory.LowercaseLetter
|| category == UnicodeCategory.UppercaseLetter
|| category == UnicodeCategory.SpaceSeparator)
resultBuilder.Append(character);
}
string result = Regex.Replace(resultBuilder.ToString(), @"\s+", "-");
在 ideone.com 查看它的运行情况.
关于c# - 操作字符串 : Removing special characters - Change all accented letters to non accented,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6992164/
我想做典型的高亮代码。所以我有类似的东西: $valor = preg_replace("/(".$_REQUEST['txt_search'].")/iu", "\\1", $valor); 现在,
我正在使用 asp.net 4 和 c#。 我有一个字符串可以包含: 特殊字符,例如:!"£$%&/()/# 重音字母,例如:àòèù 空格,例如:“”(1 个连续或多个), 示例字符串: #Hi t
我相信这很简单,但在谷歌上搜索几个小时后我找不到任何答案(也许我无法在搜索中使用正确的词:-P) 我有一个 javascript 方法可以防止用户用数字以外的其他字符填充文本框,如下面的代码所示,它用
要么我的英语不够好,要么就是我听不懂,但是谁能给我解释一下“强调色”是什么以及它在哪里使用? 我的问题源于我找不到关于何时以及如何使用该颜色的真实描述。如果我滚动 further down ,我也会找
我有几个按键(比如 )imap想在我的 .vimrc 中执行一些操作,例如 imap :silent !audtool --playback-seek-relative -3 用于在打字时大胆寻找
我在 MacOSX Lion 上使用 Eclipse Juno,但在输入时遇到问题。 我经常打印一个引号/撇号并移动插入符号。但在这个 Mac 版本的 Eclipse 中,当我输入时,引号会用橙色标记
几天来,我一直在尝试使用 WPF 的 MaterialDesign 在代码隐藏中动态呈现组框。借助我在另一个 StackOverflow 问题中获得的帮助,我能够使用 Material Design
当我在一个文本区域中写单词时,我用acced letters ....应用程序将单词存储在mysql中,但有一些错误例如。如果我在我的 sql 中写 può 我有 può 我该如何解决? 最佳答案
我们的一位客户在报纸上购买了宣传资料并添加到他的 URL 中: http://www.website.com/publicit é 而不是“publicite”(没有重音)... 我试图在 Solar
我有一个java应用程序,它有一个英语和法语的GUI,使用标准的Java国际化服务。我在一台旧机器上用 JBuilder 2005 编写了它,最近升级了,这意味着要更改 IDE。我最终选择了 Inte
我有一个问题,当我保存我的文本字段时,重音符号消失了并且没有保存到 de bd。 示例: 入口:“la meva ocupació és x”bd 保存的内容:“la meva ocupaci” 我想
例子: > SELECT name, culture FROM city_i18n WHERE ID = 2745; +-------+---------+ | name | culture | +
如何将一个字符后跟“组合重音”组合成一个字符? 我将用户输入网页的短语提交给法语-英语词典。有时字典查找会失败,因为大多数重音字符有两种表示形式。例如: é 可以用单个字符完成:\xE9(带尖音符的拉
我正在使用 django haystack 在我的 django 项目中实现一个搜索系统。问题是我的模型中的某些字段有一些法语口音,我想找到包含和不带口音的查询内容的条目。 我认为最好的想法是创建一个
我的应用程序使用标签进行国际化。 在所有页面中,重音字符均显示为 unicode。例如, à ---> \u00E0 我不知道哪个可能是问题所在,而且我找不到有关此主题的任何有用文档:我只找到 htt
我有这个不区分大小写的自定义选择器: jQuery.expr[':'].Contains = function(a,i,m) { var text = jQuery(a).text().toU
在 Microsoft SQL Server 中,可以指定“不区分重音”的排序规则(对于数据库、表或列),这意味着可以进行类似的查询 SELECT * FROM users WHERE name LI
我知道答案很简单,但我要发疯了。我想我已经尝试了所有可用的解决方案。我们开始吧... 我有一个字符集latin1的数据库。是的,我应该以 utf8 格式保存它,但我有几个正在运行的项目,所以我不想弄乱
这个问题已经有答案了: How can I use Unicode-aware regular expressions in JavaScript? (11 个回答) 已关闭 8 年前。 我尝试在 H
我已经使用 Mahapps.Metro 一段时间了,我喜欢它的强调色。但我现在想到一个想法,用户可以选择自己的颜色并将它们添加到 MahApps.Metro.ThemeManager.DefaultA
我是一名优秀的程序员,十分优秀!