首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c#字符串分析

c#字符串分析
EN

Stack Overflow用户
提问于 2010-04-11 14:34:29
回答 3查看 1.5K关注 0票数 0

我有一个字符串,例如“:)text :) text:) :-)单词:-(”我需要在textbox(或其他地方)中追加它,附带条件:

而不是“:)”,“:-(”等等)需要调用输入特定符号的函数

我认为存在有有限状态机的解决方案,但是它是如何实现的呢?等待建议。

update:“:)文本:))文本:-)单词:-(”我们见面时的=>“:)‘wec所有函数微笑(”:),它在文本框上显示图像

更新:,我喜欢带代理和Regex.Replace的idea。我可以在遇到':)‘发送到委托参数’:)和当meet ':(‘其他参数。

更新:找到了解决方案,将每个符号转换为字符,并将每个符号比较为‘:),如果是相等的话,则调用微笑( ':)’)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-11 14:37:28

您可以将Regex.Replace与委托一起使用,在其中可以处理匹配的输入,也可以简单地使用string.Replace方法。

更新的

你可以这样做:

代码语言:javascript
运行
复制
        string text = "aaa :) bbb :( ccc";

        string replaced = Regex.Replace(text, @":\)|:\(", match => match.Value == ":)" ? "case1" : "case2"); 

replaced变量在执行后将具有"aaa case1 bbb case2 ccc“值。

票数 8
EN

Stack Overflow用户

发布于 2010-04-11 14:38:21

似乎你想用这些符号替换字符串的一部分,对吗?无需自己构建,只需使用string.Replace即可。就像这样:

代码语言:javascript
运行
复制
string text = " :)text :)text:) :-) word :-( ";
text = text.Replace(":)", "☺").Replace(":(", "☹"); // similar for others
textbox.Text += text;

请注意,这不是有史以来产生的最有效的代码,但是如果这是一个类似聊天程序的代码,您可能永远不会知道其中的区别。

票数 1
EN

Stack Overflow用户

发布于 2010-04-11 14:37:49

您只需创建一个以这些特定字符作为键的字典并提取值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2617365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档