【原创】C#零基础学习笔记005-字符串和日期
其他路径:
CSDN: https://blog.csdn.net/wodehao0808
微信公众号:程序喵星人
更多资源和视频教程,QQ:1902686547
5 字符串和日期操作
5.1 比较字符串
比较字符串:
比较字符串是指按照字典排序规则,判定两个字符串的相对大小。
常用的比较方法有:Compare,CompareTo,Equals,比较运算符等。
附:按照字典规则,出现在前面的单词 小于 出现在后面的单词。
Equals 方法用于判断两个字符串是否相同。如果相同,返回值为 true。否则,返回值为 false。
5.2 定位字符和子串
定位子串一个字符串中寻找其中包含的子串或某个字符。常用的定位子串和字符的方法包括:IndexOf、LastIndexOf、StartWith、EndWith等。
补充说明:
IndexOf/LastIndexOf 方法用于搜索一个字符串中,某个特定的字符或字符串 第一次/最后一次 出现的位置。该方法区分大小写,并从字符串的首字母开始从 0 计数。如果字符串不包含要查找的字符或子串,则返回-1;
5.3 格式化字符串
格式化字符串
Format 方法用于创建格式化的字符串以及连接多个字符串对象。形式如下:
Format( string format, params object[] args );
该方法的参数 format 用于指定返回字符串的格式,经常在 format 参数中包含一些大括号括起来的数字,如 {0}、{1}等,这些数字分别一一对应于 args 参数数组中的变量。
格式字符 说明和关联属性
c、C 货币格式
d、D 十进制格式
e、E 科学计数(指数)格式
f、F 固定点格式
g、G 常规格式
n、N 数字格式
r、R 往返格式,确保将已转换为字符串的数字再次转换为数字时具有原数字相同的值
x、X 十六进制格式
参考资料:https://www.cnblogs.com/itjeff/p/5775665.html
5.4 连接字符串
1.Concat 方法用于连接两个或多个字符串。
2.Join 方法用 一个字符数组和一个分割字符串 构造成新的字符串,常用于把多个字符串连接在一起,并用一个特殊的符号来分隔开。
3.连接运算符 “+”,可以方便的连接多个字符串。
5.5 Example: 比较字符串,定位字符和子串,格式化字符串,连接字符串
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// 比较字符串,定位字符和子串,格式化字符串,连接字符串
namespace Lesson_22_1
{
class Program
{
static void Main(string[] args)
{
/*
// example_1: 比较字符串
string strA = "ac";
string strB = "bc";
int intResult = strA.CompareTo( strB );
Console.WriteLine( "比较结果为:" + intResult ); // strA < strB 时,返回 -1; 等于时返回 0;大于时返回 1;
*/
/*
// example_2: 定位字符和子串
string strHello = "HeLLo";
int intIndex = strHello.IndexOf( 'L' );
int intLastIndex = strHello.LastIndexOf('L');
int intFindIndex = strHello.IndexOf( "Lo" );
Console.WriteLine( "查找字符 {0} 的结果为:{1}", 'L', intIndex );
Console.WriteLine( "逆向查找字符 {0} 的结果为:{1}", 'L', intLastIndex );
Console.WriteLine( "查找子串 {0} 的结果为:{1}", "Lo", intFindIndex );
*/
/*
// example_3: 格式化字符串
string strFormat = string.Format( "位置1:{0},位置2:{1}。", 10, 12 );
Console.WriteLine( "strFormat = " + strFormat );
// 输出钱的格式
double dblMoney = 63.566;
string strMoney = string.Format( "{0:c}", dblMoney ); // 0:c 后面的 c 为指定格式:货币格式
Console.WriteLine( "strMoney = " + strMoney );
*/
// example_4: 连接字符串
string strA = "Hello", strB = "World";
string strNew = string.Concat( strA, strB );
Console.WriteLine( "通过 Concate 连接后的新字符串为:" + strNew );
string strNew2 = strA + strB;
Console.WriteLine( "通过 + 连接后的新字符串为:" + strNew2 );
}
}
}
5.6 分裂字符串
Split 方法可以把一个字符串,按照某个分隔符,分裂成一系列小的字符串。
5.7 字符串其他操作
1.替换字符串
如果想要替换字符串中某些特定的字符或某个子串,可以使用 Replace 方法实现。
2.字符串转换为大写或小写
String 类提供了方便转换字符串中所有字符大小写的方法 ToUpper 和 ToLower。
5.8 日期操作
System.DateTime.Now.xxx( ... )
5.9 Example: 字符串分割,字符串其他操作列举,日期操作
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// 字符串分割,字符串其他操作列举,日期操作
namespace Lesson_23_1
{
class Program
{
static void Main(string[] args)
{
/*
// example_1: 分割字符串
string strNames = "张三,=李四-,王五";
// 字符串分裂会返回一个字符串数组
string[] strArray = strNames.Split( ',', '=', '-' ); // 可以使用多个分割符对字符串进行分割
Console.WriteLine( "分割后的字符串数组元素为:" );
foreach ( string str in strArray )
{
// // 判断字符串是否为空
// if ( string.IsNullOrEmpty( str ) )
// {
// continue;
// }
Console.WriteLine( str ); // 会输出空格
}
// Trim 方法:情况字符串里面的空格
string strNull = " mmm ";
strNull = strNull.Trim(); // 清理所有空格 "mmm"
// strNull = strNull.TrimStart(); // 清理前面的空格 "mmm "
// strNull = strNull.TrimEnd(); // 清理后面的空格 " mmm"
Console.WriteLine( "使用 Trim 清理空格后的字符串为:" + strNull );
*/
/*
// example_2: 字符串的其他操作
string strH = "Hello";
strH = strH.Replace( 'e', 'a' ); // 替换字符串中的字符
Console.WriteLine( "使用 Replace 方法替换后的字符串为:" + strH );
// 字符串转换为大小写
Console.WriteLine( "字符串转换为 大写 :" + strH.ToUpper() ); // ToUpper() 字符串全部转换为大写,不会修改原有字符串,会返回一个新的字符串
Console.WriteLine( "字符串转换为 小写 :" + strH.ToLower() ); // ToLower() 字符串全部转换为小写,不会修改原有字符串,会返回一个新的字符串
*/
// example_3: 日期操作
DateTime dTime = DateTime.Now; // DateTime.Now.AddDays( -1 ); 表示当前时间的前一天
string strTime = dTime.ToString( "yyyy年MM月dd日 HH时mm分ss秒" ); // HH:24小时制,hh:12小时制
Console.WriteLine( "当前时间为:" + strTime );
}
}