想计算不包括富文本格式的字符串中的字符数? (C#)
Would like to count the characters in a string excluding rich text formatting? (C#)
平台:Unity 2018.2.20f1
语言:C# .Net 4.x
场景
我有一个字符串,我将应用于在 Unity 中呈现的文本网格。此渲染管道支持富文本编辑。
http://digitalnativestudios.com/textmeshpro/docs/rich-text/
请求
因此,当我提供一个字符串时,我想知道字符数,这将排除用于富文本格式的字符。
例子
string _value = "We are <b><i>definitely not</i></b> amused";
// Character count should be 29 instead of 43
那么最好的实现方式是什么?是否有 module/resources 在线帮助我提取计数?
谢谢,
卡尔斯嫩
您可以设置它如何替换格式块。
string CountNumber = Regex.Replace(richtextbox, "<.*?>", String.Empty);
MessageBox.Show(CountNumber.Length);
解决方案
对于非 unity 开发者
据我了解,您将不得不使用正则表达式来解决它。 @Wubber && @Yakov 之类的建议。
Another answer with suggested by Wubber
Unity 开发者使用 TMPro.TextMeshProUGUI
TMPro.TMP_InputField myInputField;
TMPro.TextMeshProUGUI InputTextBoxField;
private void onValueChangedInMyInputField(string _value)
{
int _charCount = InputTextBoxField.GetParsedText().Length;
int _inputFieldCount = myInputField.text.Length;
// _charCount is the number excluding the rich text content
// _inputFieldCount is the number inclusive of the rich text content
}
谢谢大家的宝贵时间。干杯。
平台:Unity 2018.2.20f1 语言:C# .Net 4.x
场景
我有一个字符串,我将应用于在 Unity 中呈现的文本网格。此渲染管道支持富文本编辑。 http://digitalnativestudios.com/textmeshpro/docs/rich-text/
请求
因此,当我提供一个字符串时,我想知道字符数,这将排除用于富文本格式的字符。
例子
string _value = "We are <b><i>definitely not</i></b> amused";
// Character count should be 29 instead of 43
那么最好的实现方式是什么?是否有 module/resources 在线帮助我提取计数?
谢谢, 卡尔斯嫩
您可以设置它如何替换格式块。
string CountNumber = Regex.Replace(richtextbox, "<.*?>", String.Empty);
MessageBox.Show(CountNumber.Length);
解决方案
对于非 unity 开发者
据我了解,您将不得不使用正则表达式来解决它。 @Wubber && @Yakov 之类的建议。 Another answer with suggested by Wubber
Unity 开发者使用 TMPro.TextMeshProUGUI
TMPro.TMP_InputField myInputField;
TMPro.TextMeshProUGUI InputTextBoxField;
private void onValueChangedInMyInputField(string _value)
{
int _charCount = InputTextBoxField.GetParsedText().Length;
int _inputFieldCount = myInputField.text.Length;
// _charCount is the number excluding the rich text content
// _inputFieldCount is the number inclusive of the rich text content
}
谢谢大家的宝贵时间。干杯。