zoukankan      html  css  js  c++  java
  • dotnet use regex two samples

       

    One sample is used to replace double quote from words which encapsulated by csvwriter ,

    you know csv writer will take care of the double quote and comma and new line,

    So if the words has comma or new line, csv writer will use default text qualifier double quote

    Enclose them, sample :

    Source : evan,yao CSV :"evan,yao"

    And it will replace every double quote with two double quote.

    Such as source data is evan,yao" csv: "evan,yao"""

    So when we read csv words, we should replace the additional double quote,

    I use c# and regex to do this, the following is two simple sample.

    One is remove text qualifier, another one is replace demo.

    Please enjoy.

    using System;
    
    using System.Text.RegularExpressions;
    
    using System.IO;
    
    using System.Collections;
    
       
    
    public class test
    
    {
    
    public static string removeTextQualifier(string text)
    
    {
    
    string pattern = "^"(?<word>.*)"$";
    
    Regex rgx = new Regex(pattern);
    
    MatchCollection matches = rgx.Matches(text);
    
    if(matches.Count>0)
    
    return matches[0].Groups[0].Value.Replace("""", """);
    
    else
    
    return text;
    
    }
    
       
    
    public static void regexReplaceDemo(int type)
    
    {
    
    string words = "letter alphabetical missing lack release " +
    
    "penchant slack acryllic laundry cease";
    
    if(type == 2)
    
    words = @"select *from table1 left join table2 on table1.col1=table2.col2
    
    right join t3 on table1.col2=t3.col1 full join t4 on t4.c1=t3.col2 where 1=1
    
    and 2=2 or 3=3";
    
    Console.WriteLine("Original words:");
    
    Console.WriteLine(words);
    
    Console.WriteLine();
    
    Console.WriteLine("First Letter Capital words:");
    
    Console.WriteLine(Regex.Replace(words, @"w+", (m) => {
    
    //change the first letter to capitalize
    
    if(type == 1)
    
    return m.Value[0].ToString().ToUpper() + m.Value.Substring(1);
    
    else
    
    {
    
    string keywordslist = " select from where and or join left right full on ";
    
    if(keywordslist.IndexOf(" " + m.Value + " ")>-1)
    
    return m.Value.ToUpper();
    
    else
    
    return m.Value;
    
    }
    
    }));
    
    }
    
       
    
    public static void Main(string[] args)
    
    {
    
    regexReplaceDemo(1);
    
    regexReplaceDemo(2);
    
    }
    
     
    
    }

       

    Looking for a job working at Home about MSBI
  • 相关阅读:
    TF中的自定义正则项
    [工具]多线程下载 axel
    [算法]kv-memory 表示dense特征
    [code]tensorflow分桶
    [code]Keras API的用法记录
    vim显示下划线不高亮问题
    [代码] kv2sparse
    [代码]并发执行python的例子
    AI算法手册
    [工具]soundflower
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/4143524.html
Copyright © 2011-2022 走看看