我有一个名为rtbDisclaimer的richtextbox。它设置为将用户输入限制为500个字符。我一直在试图找出一种方法来将用户输入的任何内容带入rtb,并将其分解为一个字符串数组,每个字符串元素限制为某个字符长度,例如100,但是如果第100个字符是在一个单词的中间我不希望它包含该单词,而是将它放在下一个单元中,这样单词就不会被切成两半。基本上,如果用户输入500个字符,整个内容将分为5个或6个字符串数组元素,每个元素最多限制为100个字符,而不会将任何单词切成两半。我已经四处寻找并且找不到任何可行的东西,并且无法弄清楚如何解决这个问题。此外,用户输入可以是任何长度,最多500,因此需要灵活,以允许输入范围从0到500个字符。
例: 不是这个:
[0]这是输入ri的用户输入
[1] chtextbox,因为它会出现在ar
中[2]射线元素
~~~~~~~~~~~~~~~~~~~~~~~~
:此:
[0]这是输入
的用户输入[1] richtextbox,因为它会出现在
中[2]数组元素
答案 0 :(得分:0)
这样的事可能吗?
var longText = "this morning, bla blabla";
var words = longText.split(' '); // split on space
var sentences = new List<string>();
var currentSentence = string.Empty();
foreach(var word in words){
if((sentence.Length + word.Length + 1) < 100){
currentSentence += word + " ";
}
else{
sentences.Add(currentSentence);
currentSentence = word;
}
}