给定一字符串 “ #I'm a student! @ someone have 4 'babs'? $”请用C#取出字符串的单词个数。
如果:c++中的话用两个指针p1,p2,开始都取字符串的首地址,然后判断字符串单词个数的时候用p1所指不是字母,p2所指是字母这样取出的count++应该没问题吧。具体判断的条件用ASCII码表里字母的范围?!
如果:c++中的话用两个指针p1,p2,开始都取字符串的首地址,然后判断字符串单词个数的时候用p1所指不是字母,p2所指是字母这样取出的count++应该没问题吧。具体判断的条件用ASCII码表里字母的范围?!
解决方案 »
- 初学,通俗的解释一下堆栈/堆,装箱/拆箱的意思?
- C#关于首个字母查找
- vs2005中show all Files按钮一直灰色不可用
- 如何用冒泡排序法对数组进行排序啊?~
- 关于不规则窗体 求教~~~
- ArrayList和结构体的问题
- 如何让crystalReportViewer打印我的DataSet的东西?(在线等,立即揭帖)
- .net 控件 GridView Updating事件取文本框的值取不到?
- 搜索了半天都没找到结果!关于邮件收发(pop3,smtp)时的一系列编码问题,熟悉邮件编码的高手请进!
- 对数据的操作(用SQL数据库的)
- 请教中间暂留数据的存储
- 如何在图形用户界面联接到数据库!
char ch;
for(int i=0;i<str.Length;i++){
ch=str[i];
} 需要注意的是ch是unicode字符
{
public static void Main()
{
string strMessage =@" #I'm a student! @ someone have 4 'babs'? $";
string Word;
char ch;
int count;
bool PrevCharFlag;
count = 0;
Word="";
PrevCharFlag = false;
for(int i=0;i<strMessage.Length;i++){
ch= strMessage[i];
if(CheckChar(ch)){
Word+=ch;
PrevCharFlag = true;
}
else{
if(PrevCharFlag != false){
count++;
CON.WL(Word);
Word="";
}
PrevCharFlag=false;
}
}
CON.WL("The word count is: {0}",count);
CON.RL();
}
private static bool CheckChar(char ch){
if(Char.IsLetterOrDigit(ch) ) //此处你可以设定其它条件认为是单词的
{
return true;
}
else{
return false;
}
}
}
#region CON Class
public class CON
{
public static void WL(object text, params object[] args)
{
Console.WriteLine(text.ToString(), args);
}
public static void RL()
{
Console.ReadLine();
}
public static void Break()
{
System.Diagnostics.Debugger.Break();
}}
#endregion
private static bool CheckChar(char ch)
{
if ((ch<'z'&&ch>'a')||(ch<'Z'&&ch>'A')) //此处你可以设定其它条件认为是单词的
{
return true;
}
else
{
return false;
}
}