从脚本中删除先前在 TextMeshPro 中输入的文本 [重复]
Posted
技术标签:
【中文标题】从脚本中删除先前在 TextMeshPro 中输入的文本 [重复]【英文标题】:Delete previously entered text in TextMeshPro from script [duplicate] 【发布时间】:2021-08-22 11:49:30 【问题描述】:我正在向 TextMeshPro 添加文本,但我不知道如何从文本框中删除之前输入的文本。我在网上找到的只是我不想要的 string.empty() 。 例如
public TMP_Text textMeshPro;
void Start()
textMeshPro.text = "85" + "<sprite index=0>";
所以在上面给出的这种情况下,如果我点击“退格”,精灵应该首先被删除,然后如果我再次按退格,5应该被删除,最后是8。也就是说,每个字符串都应该像这样被删除我们在计算器上做。 有没有办法做到这一点?
【问题讨论】:
@Lotan 不幸的是,没有,它没有用。我试着做textMeshPro.text.Remove (textMeshPro.text.Length - 1)
,但什么也没发生。它有什么问题?
textMeshPro.text = textMeshPro.text.Remove(textMeshPro.text.Length - 1) 什么也没发生?
@Lotan 也尝试过。什么也没发生。
这是一种删除字符串最后一个字母的方法,恐怕你的问题与删除的东西有关:(
@Lotan 它工作了 :) 我的脚本有问题,因为我正在运行多个实例,我创建了新脚本然后运行,它工作。我的一个问题是我想将“我不确定这是否能解决你的问题,但我的建议是:
string text= textMeshPro.text.toString();
string finalText=""
textMeshPro.text=""
for(int i=0; i<text.ToCharArray().Count()-1;i++)
finalText+=text.ToCharArray()[i];
textMeshPro.text=finalText;
基本上,我建议:将整个文本作为字符串获取,然后将它们转换为char数组,然后您可以控制每个char。
【讨论】:
你能补一下代码吗,finalText += 是什么? 对不起,我以为是我写的。以上是关于从脚本中删除先前在 TextMeshPro 中输入的文本 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Postgres Heroku 上的先前备份中恢复特定数据? (例如,意外删除的行)
unity3D创建TextMeshPro(TMP)中文字体(解决输入中文乱码问题)