c#学习笔记之字符串和正则表达式

一、字符串

c#中提供了一系列关于string类型的值的操作,便于我们对string进行各种类型的操作,例如比较,转化成字符串等等

eg:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace stringand
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 554;
            string stringa = a.ToString();//把a的内容以字符串形式输出

            string b = "qwer";
            string c = "asdf";
            Console.WriteLine(b.CompareTo(c));//比较string b和c的大小,若为正数,则前者大
            //若为0,则两者相等,若为负数,则后者大,此处返回1
            Console.WriteLine(string.Compare(b,c));// 返回1
        }
    }
}

另外,附上一些string类包含的方法

二、正则表达式

C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类。这个包包含于System.Text.RegularExpressions命名空间下面。

eg:

Regex regex = new Regex(@"\d");//  \d为匹配数字

regex.IsMatch("abc"); //返回值为false,字符串中未包含数字
regex.IsMatch("abc3abc"); //返回值为true,因为字符串中包含了数字

regex.Matches("abc123abc").Count;//返回3,因为匹配到3个数字

regex.Match("abc123abc").Value;// 返回为1,因为是匹配到第一个数字的值

下面是在vs中的一些实例:

string s1 = "One,Two,Three Liberty Associates, Inc.";
             Regex theRegex = new Regex(" |, |,");
             StringBuilder sBuilder = new StringBuilder();  int id = 1;
             foreach (string subString in theRegex.Split(s1))
             {
                 sBuilder.AppendFormat("{0}: {1}\n", id++, subString);
             }
             Console.WriteLine("{0}", sBuilder);

 string string1 = "This is a test string";
            // find any nonwhitespace followed by whitespa
             Regex theReg = new Regex(@"(\S+)\s");
             // get the collection of matches
             MatchCollection theMatches = theReg.Matches(string1);
              // iterate through the collection
             foreach (Match theMatch in theMatches)
             {
               Console.WriteLine("theMatch.Length: {0}", theMatch.Length);
               if (theMatch.Length != 0)
                  {
                     Console.WriteLine("theMatch: {0}", theMatch.ToString( ));
                 }
             }

结果为:

 string string2 = "04:03:27 127.0.0.0 LibertyAssociates.com " +
                 "04:03:28 127.0.0.0 foo.com " +  "04:03:29 127.0.0.0 bar.com ";

            Regex theReg2 = new Regex(@"(?<time>(\d|\:)+)\s"
                +@"(?<ip>(\d|\.)+)\s" + @"(?<site>\S+)");//  \S :与任何非空白的字符匹配。

          MatchCollection theMatches2 = theReg2.Matches(string2);
          foreach (Match theMatch in theMatches2)
         {// iterate through the collection
              if (theMatch.Length != 0)
              {
                  Console.WriteLine("\ntheMatch: {0}", theMatch.ToString());
                 Console.WriteLine("time:{0}",theMatch.Groups["time"]);
                  Console.WriteLine("ip: {0}", theMatch.Groups["ip"]);
                  Console.WriteLine("site: {0}", theMatch.Groups["site"]);
             }
          }

结果为:

时间: 2024-10-09 10:37:43

c#学习笔记之字符串和正则表达式的相关文章

Perl语言学习笔记 14 字符串与排序

1.字符串内用index搜索 $where = index($words,$word); ##从words里找到首次出现word的位置,下标从0开始,查找失败则返回-1: 指定开始搜索的地方:$where = index($words,$word,10); ##从10开始往后寻找,包含10 搜索子串最后出现的位置: 限定返回的最大位置:$where = rindex($words,$word,10); ##只搜索下标为10以前的字符. 2.处理子串 substr参数:依次为:字符串.起始下标.要

Swift学习笔记(4)--字符串及基本使用

String是例如"hello, world","海贼王" 这样的有序的Character(字符)类型的值的集合,通过String类型来表示. Swift 的String类型与 Foundation NSString类进行了无缝桥接.如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架进行工作.所有NSString API 都可以调用您创建的任意String类型的值.除此之外,还可以使用本章介绍的String特性.您也可以在任意要求传

3. 蛤蟆Python脚本学习笔记三字符串

3. 蛤蟆Python脚本学习笔记三字符串 本篇名言:"平静的湖面只有呆板的倒映,奔腾的激流才有美丽的浪花!幸福不是靠别人来布施,而是要自己去赢取!生命的意义在不断挑战自己,战胜自己!" 这个本来放在昨天的,由于昨晚又太晚了,所以就搁在这里了.赶紧看看吧. 字符串两边都用双引号或者单引号包起来.否则就使用转移符号来转移一下. 输入在一起可以直接拼接. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48112507

day5_python学习笔记_chapter6_字符串列表元组

1. 序列:seq[n], seq[x:y], seq * n序列重复n次,切片, 序列翻转 s="abcde", s[::-1]="edcba" 内建函数:1. 类型转换: list(iter), str(obj), unicode(obj), tuple(iter) , 2. len(seq), max(), min() , reversed(), sorted(), sum(), 2. 字符串: in ,not in ,,, import string , s

Java学习笔记_18_字符串、包装类、原始数据类剪得转换

18. 字符串.包装类.原始数据类剪得转换: 各个转换如下: 1>String 转换成Integer: Integer integer = new Integer("string");或 Integer Integer = Integer.valueOf(String): 注:String必须是数字字符串,如:"1232". 2>Integer 转换成String: String str = Integer.toString(); 3>Intege

Python学习笔记--Python字符串连接方法总结

声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的字符串连接方式:str1 + str2 这个估计是Python中最常用的方式,直接用 “+” 来连接两个字符串: 'Jim' + 'Green' = 'JimGreen' 2)python 新字符串连接语法:str1, str2 第二种比较特殊,如果两个字符串用“逗号”隔开,那么这两个字符串将被连接

【原】Java学习笔记023 - 字符串缓冲区_正则表达式

1 package cn.temptation; 2 3 import java.util.Arrays; 4 5 public class Sample01 { 6 public static void main(String[] args) { 7 // 因为字符串创建后就不能修改,导致在进行字符串拼接时,会产生大量的中间字符串,创建对象都是需要消耗资源 8 // 所以,能不用字符串的直接拼接尽量不使用 9 10 // 字符串缓冲区:StringBuffer类/StringBuilder类

ES6学习笔记(二)——字符串扩展

相信很多人也和我一样,不喜欢这样循规蹈矩的逐条去学习语法,很枯燥乏味.主要是这样学完一遍之后,没过一段时间就忘到九霄云外了.不如实际用到的时候研究它记得牢靠,所以我就整理成笔记,加深记忆的同时便于复习查看. 在这样不断的学习过程中,也提高了自己的总结能力:) 1.字符串的遍历器接口 ES5,数组和对象可以进行遍历,使用for() 和 for...in,还有jq中的each()方法进行遍历. ES6为我们提供了字符串遍历器  for...of 循环遍历 优点:可以识别大于0xFFFF的码点,传统的

JavaSE学习笔记21:Java正则表达式

Java正则表达式   1.正则表达式(特点) 正则表达式,顾名思义,就是符合一定规则的表达式.作用是专门用于操作字符串,虽说String类中已经有了很多操作字符串的方法,但是它们的功能单一,操作起来还麻烦,正则弥补了它们的补足. 下面我们通过一个小例子来感受一下区别: 需求:对QQ号码进行校验,要求:5~15位,0不能开头,只能是数字. (1)常规的做法: class CheckQQ { public static void main(String[] args) { String qq="3