文档章节

学用 ASP.Net 之 "字符串" (6): StringInfo 类

涂孟超
 涂孟超
发布于 2014/09/26 15:30
字数 339
阅读 9
收藏 0

学完这个类没感到它会有什么用处, 同样的操作都不如在 string 类里方便, 还要 using System.Globalization;

主要成员:
/* 静态方法 */
StringInfo.GetNextTextElement();       //获取指定元素, 默认是获取第一个元素
StringInfo.GetTextElementEnumerator(); //获取枚举器
StringInfo.ParseCombiningCharacters(); //获取由序号组成的 int[]

/* 属性 */
LengthInTextElements; //元素数; 只读
String;               //对象拥有的字符串; 可读写

/* 对象方法 */
SubstringByTextElements(); //截取字符串


构造函数及属性:
protected void Button1_Click(object sender, EventArgs e)
{
    StringInfo sf = new StringInfo("abcdefg");
    int n1 = sf.LengthInTextElements; //7
    string s1 = sf.String;            //abcdefg

    TextBox1.Text = string.Concat(n1, "\n", s1);
}

protected void Button2_Click(object sender, EventArgs e)
{
    StringInfo sf = new StringInfo();
    int n1 = sf.LengthInTextElements; //0
    string s1 = sf.String;            //

    sf.String = "abc";
    int n2 = sf.LengthInTextElements; //3
    string s2 = sf.String;            //abc

    TextBox1.Text = string.Concat(n1, "\n", s1, "\n" + n2, "\n", s2);
}


SubstringByTextElements() 方法:
protected void Button1_Click(object sender, EventArgs e)
{
    StringInfo sf = new StringInfo("ABCDEFG");
    string s1 = sf.SubstringByTextElements(2);    //CDEFG
    string s2 = sf.SubstringByTextElements(2, 3); //CDE

    TextBox1.Text = s1 + "\n" + s2;
}


三个静态方法:
//StringInfo.GetNextTextElement()
protected void Button1_Click(object sender, EventArgs e)
{
    string s1 = StringInfo.GetNextTextElement("ABCDEFG");    //A
    string s2 = StringInfo.GetNextTextElement("ABCDEFG", 1); //B

    TextBox1.Text = s1 + "\n" + s2;
}

//StringInfo.ParseCombiningCharacters()
protected void Button2_Click(object sender, EventArgs e)
{
    int[] nArr = StringInfo.ParseCombiningCharacters("Asp.Net");

    TextBox1.Text = string.Join(", ", nArr); //0, 1, 2, 3, 4, 5, 6
}

//StringInfo.GetTextElementEnumerator(); 使用 IEnumerator 需 using System.Collections;
protected void Button3_Click(object sender, EventArgs e)
{
    string str = "ABCDEFG";
    string s1, s2;
    s1 = s2 = "";

    IEnumerator e1 = StringInfo.GetTextElementEnumerator(str);
    while (e1.MoveNext())
    {
        s1 += string.Format("{0} ", e1.Current); //A B C D E F G 
    }

    IEnumerator e2 = StringInfo.GetTextElementEnumerator(str, 2);
    while (e2.MoveNext())
    {
        s2 += string.Format("{0} ", e2.Current); //C D E F G
    }

    TextBox1.Text = s1 + "\n" + s2;
}

本文转载自:http://www.cnblogs.com/del/archive/2011/01/02/1924264.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
ASP.net与JavaEE语法、内置对象的对比

1 各自的HelloWord版本 1.1 ASP <% Response.Write("hello asp") %> 文件名为test.asp。 1.2 ASP.net <%@ page Language="C#" %> <% Response.Write("hello asp.net"); %> 文件名为test.aspx......

流浪的狗
2017/12/24
0
0
ASP.NET管理状态的十种途径

HTTP协议是无状态的,ASP.NET提供了丰富的手段在页面之间管理状态。本文列举ASP.NET管理状态的十种途径。 ASP.NET中,从System.Web.UI.Page继承的类里有以下十种管理页面状态的途径: 1. App...

晨曦之光
2012/03/09
47
0
在ASP与ASP.NET之间共享对话状态

[前言:] ASP.NET是微软提供的最新的开发基于Web的应用程序的技术。它提供了大量的比传统ASP脚本技术的好处,包括:   1)通过把UI表现层(presentation)与商业逻辑(business logic)分...

awbeci
2013/03/06
0
0
Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Net Core 2.0 项目实战(3)NCMVC角色权限管理前...

郑州-在路上
2018/04/12
0
0
Asp.Net Core 2.0 项目实战(6)Redis配置、封装帮助类RedisHelper及使用实例

Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Net Core 2.0 项目实战(3)NCMVC角色权限管理前...

郑州-在路上
2018/05/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【jQuery基础学习】05 jQuery与Ajax以及序列化

本文转载于:专业的前端网站➭【jQuery基础学习】05 jQuery与Ajax以及序列化 好吧,这章不像上章那么水了,总是炒剩饭也不好。 关于AJAX 所谓Ajax,全名Asynchronous JavaScript and XML。(也...

前端老手
6分钟前
7
0
CVE-2019-14287(Linux sudo 漏洞)分析

作者:lu4nx@知道创宇404积极防御实验室 作者博客:《CVE-2019-14287(Linux sudo 漏洞)分析》 原文链接:https://paper.seebug.org/1057/ 近日 sudo 被爆光一个漏洞,非授权的特权用户可以...

极客君
7分钟前
3
0
关于分布式,你需要知道的真相

目录 一、分布式锁 数据库的唯一索引 Redis 的 SETNX 指令 Redis 的 RedLock 算法 Zookeeper 的有序节点 二、分布式事务 2PC 本地消息表 三、CAP 一致性 可用性 分区容忍性 权衡 四、BASE 基...

李红欧巴
7分钟前
4
0
读书笔记:深入理解ES6 (附录B)

附录B:了解ES7(2016)   ES6经历了4年的发展,之后TC-39决定将发布周期转换为每年一版,以确保新语言特性能够更快地发展。   ES6中添加了三个语法特性,下面一一来讲。 第1节 指数运算...

张森ZS
13分钟前
2
0
计算机公开课推荐 2019.8

欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源 编程 哈佛 CS50:计算机科学导论 视频 MIT 6.00.1x:计算机科...

ApacheCN_飞龙
14分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部