在业务中遇到一个需求,表情需要走额外点击删除,本来是想通过截取去掉最后一个字符串来完成这一操作。然而却发现表情是一个UTF-32的String,如果出现表情和文字混合就不是很好删除了。
解决方案:在上,StackoverFlow有一个类似的问题,建议我们使用characters官方提供的包来解决我们的表情删除问题
backSpaceText() {
String originalText = textEditingController.text; // textEditingController 我textField的Controller
dynamic text;
if (originalText.isNotEmpty) {
text = originalText.characters.skipLast(1);
textEditingController.text = "$text"; // 这里是做一次字符串的转化,我们不能直接as String去转,不然会报错
}
}