写一个控制台程序,给字符串中每个单词加上双引号. (寻找更好的解决方法)
常用的方法:
string thestring;
Console.WriteLine("请输入任意字符串");
char[] thechar = { ' ' };
thestring = Convert.ToString(Console.ReadLine());//接收用户输入的字符,并转换成字符串
string[] a = thestring.Split(thechar);//将字符串转换成数组
foreach (string str in a)
{
Console.Write("\"{0}\"", str);
}
Console.ReadLine();
这个方法我个人觉得并不好,如果是一个以上空格的话,显然不能完全达到要求..
我的方法:
string thestring;
Console.WriteLine("请输入任意字符串");
thestring = Convert.ToString(Console.ReadLine());//接收用户输入的字符,并转换成字符串
thestring = thestring.Replace(" ", "\" \"");//将空格替换成"空格"
Console.Write("\"{0}\"", thestring);
Console.ReadLine();
这个办法是我最初的想法,够笨的可以吧,嘿嘿,不过明显比上面的方法简单,而且好理解,功能还是一样的.不过还是不能达到多个空格的要求.
哪位高人能有方法解决,,,就是把多个空格换转成一个空格,, 或者其他方法来完善这个问题..
不胜感激!!!
--------------------编程问答--------------------
--------------------编程问答-------------------- ??? 我完全一头雾水?
string input = "this is a test";
Regex re = new Regex(@"\w+");
string output = re.Replace(input,"'$&'");
//'this' 'is' 'a' 'test'
敢问是什么意思,给我上注释,谢谢. --------------------编程问答-------------------- string thestring;
Console.WriteLine("请输入任意字符串");
char[] thechar = { ' ' };
thestring = Convert.ToString(Console.ReadLine());//接收用户输入的字符,并转换成字符串
string[] a = thestring.Split(thechar);//将字符串转换成数组
foreach (string str in a)
{
if (str.CompareTo("") != 0)//判斷是否為空
{
Console.Write("\"{0}\"", str);
}
}
Console.ReadLine(); --------------------编程问答-------------------- string[] a = thestring.Split(thechar);
字符串数组可以直接用join方法
a.Join(""") 这样更省事 --------------------编程问答-------------------- string str = "i am a student";
str = Regex.Replace(str, @"\w{1,}", "\"$&\"");
Console.WriteLine(str); --------------------编程问答-------------------- string ss = "a b c d e"
char[] separator = {' '};
string[] item = ss.Split(separator, StringSplitOptions.RemoveEmptyEntries);
这样就能屏蔽掉所有的空格 不管几个 --------------------编程问答-------------------- 楼主结贴的时候别忘了我给点分啊。HOHO --------------------编程问答--------------------
如果楼主要的是短语,那还要考虑标点符号的
--------------------编程问答--------------------
string input = "this is a test";
Regex re = new Regex(@"\S+");
string output = re.Replace(input,"\"$0\"");
//'this' 'is' 'a' 'test'
string input = "It's a test";--------------------编程问答-------------------- string thestring;
Regex re = new Regex(@"\S+");
string output = re.Replace(input, "\"$0\"");
//"It's" "a" "test"
Console.WriteLine("请输入任意字符串");
char[] thechar = { ' ' };
thestring = Convert.ToString(Console.ReadLine());//接收用户输入的字符,并转换成字符串
string[] a = thestring.Split(thechar);//将字符串转换成数组
foreach (string str in a)
{
//Console.Write("\"{0}\"", str);
if (str.Length != 0)
Console.Write("\"{0}\" ", str);//把空格去掉
}
Console.ReadLine(); --------------------编程问答-------------------- 应该是正则表达式 --------------------编程问答-------------------- 我的方法如下:
string myString = Console.ReadLine();
char[] myWord ={' '};
string[] myWords = myString.Split(myWord);
string word;
myString = "";
int i;
for (i = 0; i < myWords.Length;i++ )
{
word=myWords[i];
word = "\"" + word + "\"";
myString = myString + " " + word;
}
myString = myString.TrimStart();
Console.WriteLine(myString);
Console.ReadKey();
补充:.NET技术 , C#