我有以下代码片段,我只使用一个空格分割单词,输出为
输出:
when ambition ends happiness begins
但我希望在两个空格之后拆分我的意思我的输出应该是这样的:
when ambition ends happiness begins
string vj = "when ambiton ends happiness begins";
List<string> k = new List<string>();
char ch = ' ';
string[] arr = vj.Split(ch);
foreach (string r in arr)
{
Response.Write(r + "<br/>");
}
答案 0 :(得分:2)
由于这是标记的作业,我会给出一个提示:
答案 1 :(得分:2)
这是一个使用正则表达式的解决方案:
// Loosely: a word, followed by another word if available
Regex regex = new Regex(@"\S+( \S+)?");
string[] splits = regex.Matches(inputText)
.Cast<Match>()
.Select(match => match.Value)
.ToArray();
答案 2 :(得分:1)
像现在一样拆分它,然后循环生成的数组并使用标准的for
循环将它们连接起来。
答案 3 :(得分:0)
你必须在这个上手动,搜索字符串中的空格字符,并保留一个计数器。你必须记住你想要拆分的空格字符的索引,并使用.Substring(startindex,length)方法来提取单独的部分。
答案 4 :(得分:0)
答案 5 :(得分:0)
string vj = "when ambiton ends happiness begins";
List<string> k = new List<string>();
char ch = ' ';
string[] arr = vj.Split(ch);
bool flag=false;
foreach (string r in arr)
{
if(flag)
{
Response.Write(r + "<br/>");
flag=false;
}
else
{
Response.Write(r + " ");
flag=true;
}
}
以上内容适用于您指定的情况(跳过单个空格)。
虽然没有必要,但是如果你想把它全部包裹起来,请点击这里:
string myString = "when ambiton ends happiness begins";
bool flag=false;
foreach (string item in myString.Split(ch))
Response.Write(item + flag=!flag?" ":"<br/>");
答案 6 :(得分:0)
你可以添加一个bool来表明你是否应该添加“/ br”,称之为breakLine 现在在每次迭代时检查它是否为真 - 如果是,则添加“/ br”,否则不要。最后在每次迭代时否定它 实施留作练习( - :