dousi8931 2010-03-12 14:27
浏览 26
已采纳

.net相当于php preg_replace

What is the c#.net equivalent for php's preg_replace function?

php code is like this:

    const ALLOW_VALUES = '[^a-z0-9àáâäèéêëìíîïòóôöùûŵýÿyÁÂÄÈÉÊËÌÎÏÒÓÔÖÙÛÜŴYÝ]';

    public function streetTownHash($data, $hashCheck = false, $updateRecord = false)
     {
       foreach($data as $key=>$value){
        try{
         $value = mb_convert_case($value, MB_CASE_LOWER, "UTF-8");
         } catch(Exception $e) {
          echo "Requires extension=php_mbstring.dll enabled !  - $e";
         }
        $valueConcat .= preg_replace('/'.self::ALLOW_VALUES.'/','',$value); # Remove punctuation etc
       }
       $streetTownHash =  sha1($valueConcat);

....

Edit: now is like so.

    private readonly SHA1 hash = SHA1.Create();
    private readonly Regex PunctuationStripper = new Regex(@"[^a-z0-9àáâäèéêëìíîïòóôöùûŵýÿyÁÂÄÈÉÊËÌÎÏÒÓÔÖÙÛÜŴYÝ]", RegexOptions.IgnoreCase);
    public string HashString(string value)
    {
        value = value.ToLower();
        value = PunctuationStripper.Replace(value, string.Empty);
        var bytes = ASCIIEncoding.UTF8.GetBytes(value);
        var hashed = hash.ComputeHash(bytes);
        return ASCIIEncoding.UTF8.GetString(hashed);
    }

Edit:

Would the regex expression need to change also?

  • 写回答

1条回答 默认 最新

  • dsrjs86444 2010-03-12 14:33
    关注

    You're looking for the Regex class.

    For example:

    static readonly Regex PunctuationStripper = new Regex(@"[^a-z0-9àáâäèéêëìíîïòóôöùûŵýÿyÁÂÄÈÉÊËÌÎÏÒÓÔÖÙÛÜŴYÝ]", RegexOptions.IgnoreCase);
    //...
    value = PunctuationStripper.Replace(value, "");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图