美文网首页
正则表达式,字符串常见API

正则表达式,字符串常见API

作者: Unity开发 | 来源:发表于2016-12-13 22:08 被阅读36次

 string的学习

 *  正则表达式

 *  比如说:

 *  账号验证(包含英文字母,特殊符号,数字,6位以上长度);

 *  邮箱验证

 *  电话验证

class MainClass

{

/// <summary>

/// 获取字符串长度

/// </summary>

public void Test1(){

//无论英文,特殊符号还是中文,长度都是1个字节.

string s = "你好中国xxx,";

Console.WriteLine("字符串长度为:" + s.Length);

}

/// <summary>

/// 字符串中查找字符串

/// </summary>

public void Test2(){

//返回-1证明查不到

//如果能查到,返回的是该字符或者字符串在字符串中索引位置

string s = "就是HFDJasdgajSGDasjgdhagshjdg不方便大家就卡死的";

int i = s.IndexOf('F',3,1);

Console.WriteLine (i);

}

/// <summary>

/// 字符串提取,截取指定范围内的字符串

/// </summary>

public void Test3(){

string s = "你好吗,我的母亲中国好棒!";

string temp = s.Substring(0,9);

Console.WriteLine (temp);

}

/// <summary>

/// 字符串替换

/// </summary>

public void Test4(){

string s = "淫露,你好你妈个x,草曹操肏";

string newStr = s.Replace("淫","*");

Console.WriteLine (newStr);

//分几种:1.亲戚

// string pattern = @"[淫银瘾]|[草曹操肏]|[爹妈姑舅爷]";

// string newStr = Regex.Replace (s, pattern, "*");

// Console.WriteLine (newStr);

}

/// <summary>

/// 字符串插入(指定位置)

/// </summary>

public void Test5(){

string s = "你好,中国";

string newStr = s.Insert(0,"china");

Console.WriteLine (newStr);

}

/// <summary>

/// 判断字符串以什么什么结尾

/// </summary>

public void Test6(){

string s = "你好,中国";

bool b = s.EndsWith("中国");

if (b) {

Console.WriteLine ("是以中国结束");

}

}

/// <summary>

/// 字符串按照索引位置移除

/// </summary>

public void Test7(){

string s = "你好,中国";

string newStr = s.Remove(1,1);

Console.WriteLine (newStr);

}

/// <summary>

/// 字符串拼接

/// </summary>

public void Test8(){

string s = "你好";

s += "中国";

Console.WriteLine (s);

}

/// <summary>

/// 判断字符串是否相等

/// </summary>

public void Test9(){

string s1 = "你好";

string s2 = "你好1";

string s3 = "你好2";

// if (s1 == s2) {

// Console.WriteLine ("相等的字符串");

// }

if(string.Equals (s1, s2)){

Console.WriteLine ("字符串s1和s2相等");

}

}

/// <summary>

/// 字符串转换值类型

/// </summary>

public void Test10(){

string s = "123.";

// int i = int.Parse(s);

int result = 0;

bool l = int.TryParse (s, out result);

if (l) {

Console.WriteLine ("转换成功!~" + result);

} else {

throw new Exception ("传入数据包含非法字符,请处理!");

}

}

//练习1:判断字符串lm13142005@qq.com是否为合法邮箱

string email = "lm13142005qq.@com";

int indexAt = -1;

int indexDot = -1;

indexAt = email.IndexOf ("@");

indexDot = email.IndexOf (".");

if (indexAt != -1 && indexDot != -1) {

if (indexAt < indexDot) {

Console.WriteLine ("输入email!");

}

}

匹配邮箱xxx@xxx.xxx

string email = "l@qqq.com";

string pattern = @"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+";

if (Regex.IsMatch (email, pattern)) {

Console.WriteLine ("合法邮箱");

} else {

Console.WriteLine ("不合法邮箱");

}

/*

 *  学习stringbuilder:目的解决拼接字符串产生的滞留性。

 * string类有不可改变性,每次执行字符串拼接的时候,实际上都会产生一个新的字符串对象

 * stringbuilder类解决了对字符串重复修改过程中产生大量对象的问题

 * 初始化带有capacity来控制容量大小,并且允许我们修改容量的大小

如果初始化是默认构造函数初始化的sb对象,那么默认capacity的大小为16

C#5.0版本capacity成倍增长

C#4.0版本之下的,拼接长度超出容量的时候翻一倍,如果没超过就是默认值16

 * 

public static void Main (string[] args)

{

// 初始化带有capacity来控制容量大小,并且允许我们修改容量的大小

// 如果初始化是默认构造函数初始化的sb对象,那么默认capacity的大小为16

// C#5.0版本capacity成倍增长

// C#4.0版本之下的,拼接长度超出容量的时候翻一倍,如果没超过就是默认值16

// StringBuilder sb=new StringBuilder();

// string a = "你好";

// string b = "中国";

//

// sb.Append (a);

// sb.Append (b);

// //结论

// //容量大小没有超过64,实际容量大小为64

// //容量>64就是实际容量大小

// Console.WriteLine ("没拼接之前sb的容量为:{0}",sb.Capacity);

// Console.WriteLine ("没拼接之前sb的长度为:{0}\"",sb.Length);

//C#5.0 下面这种初始化方式,容量大小取决于初始化字符串的长度

//C#5.0 以下跟上面情况相同

// string s = "你好"; 

// StringBuilder sb=new StringBuilder();

// Console.WriteLine (sb.Capacity);

// StringBuilder sb=new StringBuilder("双击,");

// sb.Append ("{0}", 666);

// Console.WriteLine (sb.ToString());

string s="你好,中国";

StringBuilder sb=new StringBuilder();

sb.Append (s);

sb.Insert (1, "adf");

Console.WriteLine (sb.ToString());

sb.Remove (1, 1);

Console.WriteLine (sb.ToString());

sb.Replace ("好", "*");

Console.WriteLine (sb.ToString());

Console.ReadLine ();

//

}

相关文章

  • JAVA正则表达式

    正则表达式示例 查找字符串 http://是否出现。 正则表达式的API Pattern (java.util.r...

  • JS 小知识点整理

    常见操作数组、字符串 API 字符串API定义用法slice(start, end)用于提取字符串中介于两个指定下...

  • ES5字符新增的方法

    字符串常见API(indexOf/charAt/substring/slice/split/replace) 1....

  • 正则表达式,字符串常见API

    string的学习 * 正则表达式 * 比如说: * 账号验证(包含英文字母,特殊符号,数字,6位以上长度); *...

  • JS 字符串

    常见的字符串方法 1.长度计算,连接 2.字符串截取 3.字符串分割 separator 必需。字符串或正则表达式...

  • python使用正则表达式

    正则表达式能按某种模式匹配一系列有相似特征的字符串。它是由一些字符串和特殊符号组成的字符串。 常见正则表达式符号和...

  • 字符串常见API

    字符串常见API 复制char *strcpy(char *dest, const char *src);char...

  • 正则表达式学习笔记(1)

    /*正则表达式就是用于操作字符串的规则。 正则对字符串的常见的操作: */public class Demo1 {...

  • shell之正则表达式

    1.正则表达式 正则表达式:描述某些字符串匹配规则的工具 2.常见的支持正则表达式的UNIX工具: grep命令族...

  • 将swift的泛字符串类型转为强类型

    泛字符串类型 API 缺点: 拼写错误 冲突 运行时崩溃 常见处理方法: 添加命名空间 不写字符串字面值 常见问题...

网友评论

      本文标题:正则表达式,字符串常见API

      本文链接:https://www.haomeiwen.com/subject/caibmttx.html