知识点:

1.char.IsControl

2.char.IsPunctuation

3.char.IsSurrogate

4.char.IsWhitespace

5.char.IsDigit

6.char.IsNumber

7.char.IsSeparation

8.char.IsSymbol

问题:

有一个char类型的变量,希望确定其中包含的字符是字母、一位数、数字、标点符号、控制字符、分隔符号、空白符还是替代字符。类似地,可能有一个string变量,想确定这个串中某个或多个位置上是何种字符。

解决方案

要确定一个char的值,可以使用System.Char结构的内置静态方法,如下所示:

1.char.IsControl

2.char.IsPunctuation

3.char.IsSurrogate

4.char.IsWhitespace

5.char.IsDigit

6.char.IsNumber

7.char.IsSeparation

8.char.IsSymbol

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _02确定一个Char包含何种字符
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符:");
string symbol = Console.ReadLine();
CharKind ck = GetCharKind(Convert.ToChar(symbol));
Console.WriteLine(ck);
string symbol1= Console.ReadLine();
int position=Convert.ToInt32(Console.ReadLine());
CharKind ck1 = GetCharKindInString(symbol1, position);
Console.WriteLine(ck1);
Console.ReadKey();
}
public static CharKind GetCharKind(char theChar)
{
if (char.IsLetter(theChar))
{
return CharKind.Letter;
}
else if (char.IsNumber(theChar))
{
return CharKind.Number;
}
else if (char.IsPunctuation(theChar))
{
return CharKind.Punctuation;
}
else
{
return CharKind.Unknown;
}
} //判断字符串中某个位置的字符类型
public static CharKind GetCharKindInString(string theString, int CharPosition)
{
if (char.IsLetter(theString, CharPosition))
{
return CharKind.Letter;
}
else if (char.IsNumber(theString, CharPosition))
{
return CharKind.Number;
}
else if (char.IsPunctuation(theString, CharPosition))
{
return CharKind.Punctuation;
}
else
{
return CharKind.Unknown;
}
}
} public enum CharKind
{
Letter,
Number,
Punctuation,
Unknown
}
}

验证结果

1 8 Number

2.1确定一个char包含何种字符的更多相关文章

  1. java 中一个char包含几个字节

    背景   char包含几个字节可能记得在上学的时候书上写的是2个字节,一直没有深究,今天我们来探究一下到底一个char多少个字节? Char   char在设计之初的时候被用来存储字符,可是世界上有那 ...

  2. Oracle bug 使用max或min函数into到一个char类型报字符缓冲区太小的错误

    这个BUG出现会报错如下: selectto_char(max(RENEWAL_DATE)) intoM_YEAR_MONTH fromt_renewal_schedule; ORA-06502: P ...

  3. 查找常用字符(给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。)

    给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表. 例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 ...

  4. java判断一个字符串是否包含某个字符

    一.contains方法 1:描述 java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列 2:声明 public boolean cont ...

  5. java算法面试题:有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数 按值的降序排序,如果值相同则按键值的字母顺序

    package com.swift; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; publi ...

  6. oracle中一个字符串包含另一个字符串中的所有字符

    oracle中一个字符串包含另一个字符串中的所有字符 --解决监理报告中所勾选的标段信息,与该用户所管理的标段字符串不匹配的问题. select * from a where instr(a,b)&g ...

  7. mysql查询某一个字段是否包含中文字符

    在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是: SELECT col FROM table WHERE length(col)!=char_length(col ...

  8. 判断一个python字符串中是否包含中文字符

    #在python中一个汉字算一个字符,一个英文字母算一个字符 #用 ord() 函数判断单个字符的unicode编码是否大于255即可. def is_contain_chinese(check_st ...

  9. 为什么Java中一个char能存下一个汉字

    在Java中,char的长度是2字节,即16位,2的16次方是65536. 1.如果采用utf-8编码,一个汉字占3个字节,char为什么还能存下一个汉字呢? 参考:https://developer ...

随机推荐

  1. AIX 命令大全

    http://www.ahinc.com/aix/general.htm http://web.mit.edu/javadev/packages/Acme/ http://jparsec.codeha ...

  2. FastJSON应用前测试

    FastJSON 应用前测试 FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能.\ 实际 ...

  3. H面试程序(29):求最大递增数

    要求:求最大递增数 如:1231123451 输出12345 #include<stdio.h> #include<assert.h> void find(char *s) { ...

  4. perl 一个简单的面向对象的例子

    <pre name="code" class="python">[root@wx03 wx]# cat x1.pm package x1; use ...

  5. editplus使用:非法字符: \65279

    众所周知,在跨程序的工程中,统一编码是至关重要的,而目前最普遍的则是统一采用“utf8”编码方案. 但是在采用utf8方案的时候,请注意编辑器的自作聪明. 比如editplus. 原因就在于某些编辑器 ...

  6. Ubuntu-升级linux软件源,安装vim/五笔

    重装linux后 软件都没了. 这些是要做的: (1):升级软件源 sudo gedit  /etc/apt/source.list 打开后ctrl c 下面的源 ##网易的源(163源,无论是不是教 ...

  7. cdoj 秋实大哥与战争

    首先,显然每个区间的最长连续子区间要么在左孩子里,要么在右孩子里,要么跨越两个孩子.于是我们可以对每个区间维护如下信息ll(left long),rl(rigth long),ml(mid long) ...

  8. 读取系统执行状态的shell脚本

    近期在学习shell.老大让写一个读取系统配置信息的脚本当作练习和工作验收,我就写了这么一个脚本,读取操作系统,内核,网卡,cpu,内存,磁盘等信息,目的是让看的人一眼就能看出这台机子的配置以及眼下的 ...

  9. DevExpress控件之:ChartControl 动态绑定数据

    private void BindData(ViewType vt) { chartControl1.Series.Clear(); //Series series1 = new Series(&qu ...

  10. SQL中的去重操作

    if not object_id('Tempdb..#T') is null drop table #T Go Create table #T([ID] ),[Memo] nvarchar()) In ...