在用正则匹配的时候,[\n\r]是匹配不到空格的,[\n\r]只能匹配换行回车符,而且换行回车符都是占位符,是没有长度的。
    要匹配空白符(包括:空格、制表位、换页符等)时用\s,空格和制表位(也就是tab键产生的空白)都是有长度的。

    C#在格式化字符串的时候,也有占位符的应用
    string.Format(“{0},{1}”,”匹配0”,”匹配1”)
    其中,{0},{1}就是字符串中的占位符,先站下位置
    C#还有一些特殊的格式化标识符,用来格式一些特殊的字符串格式
    字母 含义
    —————————————————————————————————————————-
    C或c Currency 货币格式
    D或d Decimal 十进制格式(十进制整数,不要和.Net的Decimal数据类型混淆了)
    E或e Exponent 指数格式
    F或f Fixed point 固定精度格式
    G或g General 常用格式
    N或n 用逗号分割千位的数字,比如1234将会被变成1,234
    P或p Percentage 百分符号格式
    R或r Round-trip 圆整(只用于浮点数)保证一个数字被转化成字符串以后可以再被转回成同样的数字
    X或x Hex 16进制格式
    示例:
    static void Main()
    {
    int i=12345;
    Console.WriteLine(“{0:C}”,i); //货币
    Console.WriteLine(“{0:D}”,i); //十进制数
    Console.WriteLine(“{0:E}”,i); //科学技术法
    Console.WriteLine(“{0:F}”,i); // 浮点数表示法
    Console.WriteLine(“{0:G}”,i); //G或g General 常用格式
    Console.WriteLine(“{0:N}”,i); //N或n 用逗号分割千位的数字
    }
    —————————————————————————————————————————-
    d MM/dd/yyyy ShortDatePattern(短日期模式)
    D dddd,MMMM dd,yyyy LongDatePattern(长日期模式)
    F dddd,MMMM dd,yyyy HH:mm Full date and time (long date and short time)(全日期和时间模式)
    F dddd,MMMM dd,yyyy HH:mm:ss FullDateTimePattern (long date and long time)(长日期和长时间)
    G MM/dd/yyyy HH:mm General (short date and short time)(通用模式,短日期和短时间)
    G MM/dd/yyyy HH:mm:ss General (short date and long time)(通用模式,短日期和长时间)
    M,M MMMM dd MonthDayPattern(月天模式)
    r,R ddd,dd MMM yyyy,HH’:’mm’:’ss ‘GMT’ RFC1123Pattern (RFC1123模式)
    S yyyy-MM-dd HH:mm:ss SortableDateTimePattern (conforms to ISO 8601) using local time(使用本地时间的可排序模式)
    T HH:mm ShortTimePattern (短时间模式)
    T HH:mm:ss LongTimePattern(长时间模式)
    U yyyy-MM-dd HH:mm:ss UniversalSortable-DateTimePattern (conforms to ISO 8601) using universal time(通用可排序模式)
    U dddd,MMMM dd,yyyy,HH:mm:ss UniversalSortable-DateTimePattern(通用可排序模式)
    y,Y MMMM,yyyy YearMonthPattern(年月模式)
    示例:
    static void Main()
    {
    Console.WriteLine(“{0:D}”,DateTime.Now); //输出到天
    Console.WriteLine(“{0:y}”,DateTime.Now); //输出到月
    Console.WriteLine(“{0:m}”,DateTime.Now); //取出是那个月
    Console.WriteLine(“{0:T}”,DateTime.Now); // 取长时间到秒
    Console.WriteLine(“{0:t}”,DateTime.Now); //取短时间到分
    Console.WriteLine(“{0:tt}”,DateTime.Now); //取出是上午还是下午
    }

    int number = 50;
    number.ToString().PadLeft(8,’0’);
    这样返回的是一个字符串”00000050”

    double b = 4321.12543;
    int a = 1234;
    自定义模式输出:
    //“0”描述:占位符,如果可能,填充位
    Label1.Text = string.Format(“{0:000000}”,a);// 001234
    Label2.Text = string.Format(“{0:000000}”,b);// 004321
    //“#”描述:占位符,如果可能,填充位
    Label1.Text = string.Format(“{0:#######}”,a);// 1234
    Label2.Text = string.Format(“{0:#######}”,b);// 4321
    Label1.Text = string.Format(“{0:#0####}”,a);// 01234
    Label2.Text = string.Format(“{0:0#0000}”,b);// 004321
    //“.”描述:小数点
    Label1.Text = string.Format(“{0:000.000}”,a);//1234.000
    Label2.Text = string.Format(“{0:000.000}”,b);//4321.125
    double b = 87654321.12543; int a = 12345678;
    //“,”描述:数字分组,也用于增倍器
    Label1.Text = string.Format(“{0:0,00}”,a);// 12,345,678
    Label2.Text = string.Format(“{0:0,00}”,b);// 87,654,32
    Label1.Text = string.Format(“{0:0,}”,a);// 12346
    Label2.Text = string.Format(“{0:0,}”,b);// 87654
    Label1.Text = string.Format(“{0:0,,}”,a);// 12
    Label2.Text = string.Format(“{0:0,,}”,b);// 88
    Label1.Text = string.Format(“{0:0,,,}”,a);// 0
    Label2.Text = string.Format(“{0:0,,,}”,b);// 0
    //“%”描述:格式为百分数
    Label1.Text = string.Format(“{0:0%}”,a);// 1234567800%
    Label2.Text = string.Format(“{0:#%}”,b);// 8765432113%
    Label1.Text = string.Format(“{0:0.00%}”,a);// 1234567800.00%
    Label2.Text = string.Format(“{0:#.00%}”,b);// 8765432112.54%