第十七章 字符串、字符和正则表达式教案.pptVIP

第十七章 字符串、字符和正则表达式教案.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
StringBuilder^ Replace( Char, Char, Int32, Int32 ); 在字串实例中,从指定的位置(第三参数给出)开始的确定长度(第四个参数给出)的子字串中,用第二个参数指定的字符替换所有由第一个参数指定的字符,并返回修改后的字串实例。 StringBuilder^ Replace( String^, String^, Int32, Int32 ); 在字串实例中,从指定的位置(第三参数给出)开始的确定长度(第四个参数给出)的子字串中,用第二个参数指定的字串替换所有由第一个参数指定的字串,并返回修改后的字串实例。 本节的第二个实例 StringBuilderReplace 也是一个托管类控制台 程序,该实例演示了对 StringBuilder 类的 Replace 方法的使用。 由于程序中使用了 StringBuilder 类和信息框类 MessageBox,所以 需要添加使用该类所属命名空间和相应动态库的语句: #using system.windows.forms.dll using namespace System::Windows::Forms; using namespace System::Text; 实例的运行结果如下: 17.11 Char 类型的方法 Char 类型和其他基元数据类型一样,是 C++/CLI 提供的一种 结构数据类型。它提供的方法大多数是静态方法,这些方法至 少要获取一个字符参数,并对该字符执行一次测试或操作。对 这些方法的调用形式与对其他类型的方法调用形式相同。 本节的实例 StaticCharMethods 是一个托管类窗口程序,实例 的功能是:对用户从键盘输入的字符进行分析,并将分析结果 信息显示输出。为此,程序中使用了 Char 类型判断字符是否属 于特定字符类型的静态方法(IsDigit、IsLetter 等),以及对字符 执行大小写转换的静态方法(ToUpper、ToLower 等)。 该实例的 GUI 设计如下: 实例的运行结果如下: 17.12 洗牌和发牌模拟实例 本节的实例是使用随机数生成技术设计、编写的一个模拟洗 牌和发牌的托管类窗口应用程序。该程序的设计思路和方法可 在模拟玩牌的其他应用程序中直接使用。 在程序设计中,Card 类是用来描述 “牌” 这个重要对象的 。该 类包含两个 String^ 数据成员,即用于存储 “牌” 的牌面名称的 face 和用于存储 “牌” 的花色名称的 suit。用于创建每张 “牌” 对 象的构造函数需要接收两个 String^ 参数,来初始化 face 和 suit 。 Card 类还包含一个 ToString 方法,用于创建由 face 和 suit 连接 构成的 String 对象,并返回该对象类型的引用指针 String^。 在应用程序的主窗体类 Form1 中添加一个包含 52 个 Card^ 的 数组,用于存放一副牌。为了交互实现洗牌和发牌操作,需要 在主窗体中添加两个按钮(Button)控件,分别用于产生洗牌和 发牌的事件。另外,还需要添加两个标签(Label)控件,用于 发牌操作时,显示当前牌在一副牌中的顺序,以及该牌的花色 和牌面信息。主窗体的 GUI 设计如下: 在程序的编写需要注意以下几点: 1 Card 类的 ToString 方法应该是重载基类 System::Object 的虚方 法 ToString, 所以必须在方法的声明或定义首行加入 virtual 前 缀和 override 或 new 后缀。 virtual String^ ToString() override; 2 存储一副牌的数组应该是一个静态托管类数组,其定义代码 如下: private: static arrayCard^ ^deck = gcnew arrayCard^(52); 3 数组 deck 的初始化应该在主窗体创建的同时进行。为此,需 要添加主窗体类 Form1 的 Load 事件的处理方法。该方法的定 义代码如下: String^ ToUpper(); 依据当前的语言(例如,英文、法文等)缺省规则,将调用方法的 String 对象中所有字符转换大写,并返回修改后的 String 对象拷贝的引用指针。 String^ ToUpper( CultureInfo^ ); 依据参数指定的语言(例如,中文、英文等)规则,将调用方法的 String 对象中所有字符转换大写,并返回修改后的 String 对象拷贝的引用指针。 String^ Trim(); 用于删除调用方法的 String 对象中字符串头部和尾部的空格 字符,并返回修改后的 St

文档评论(0)

沃爱茜 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档