【问题标题】:Split one word into two?把一个词分成两个?
【发布时间】:2014-04-30 22:17:46
【问题描述】:

假设我们有输入:“喜欢” 输出应该是:“li ke”。

我试过这个方法:

String mystring = TextBox1.Text;
String[] mysplit = mystring.Split(new Char[]{' ',','});
Label3.Text = mysplit[0];
Label5.Text = mysplit[1];

但是如果有多个单词并且它们之间有空格和冒号,则此方法将拆分。我想要的是一个词被分成两部分并显示在一个或两个标签中

【问题讨论】:

  • 如果你的mystring.Length是奇数怎么办?

标签: c# split


【解决方案1】:

使用String.SubString

var length = str.Length;

var firstHalf = str.Substring(0, length / 2);
var secondHalf = str.Substring(length / 2, length - (length / 2));

如果字符串有奇数个字符,后半部分将比前半部分多 1 个字符。

如果您希望前半部分比后半部分多 1 个字符,请改为:

var length = str.Length;
var half = (int) Math.Ceiling(length/2.0);

var firstHalf = str.Substring(0, half);
var secondHalf = str.Substring(half, length - half);

【讨论】:

  • 如果字长是13char怎么办?它会自动舍入吗?
  • @stackunderflow 整数除法会截断结果,所以前半部分有 6 个字符,后半部分有 7 个字符。如有必要,我添加了另一个代码 sn-p 执行相反的操作。
猜你喜欢
  • 2013-11-25
  • 2019-11-07
  • 2022-10-08
  • 1970-01-01
  • 2020-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
相关资源
最近更新 更多