【发布时间】:2017-04-16 09:48:50
【问题描述】:
我在网上搜索过这个问题,但很遗憾找不到答案(如果有遗漏的地方,请见谅)。
我有一些代码可以过滤掉一个特定的字符串(它可以根据从串行端口读取的内容而改变)。我希望能够删除所有我不使用的字符。
例如我想从下面的文字中得到的字符串是“ThisIsTheStringIWant”
efefhokiehfdThisIsTheStringIWantcbunlokew
现在,我已经有了一个带有一些代码的函数,可以识别它并将其打印到我想要的位置。但是,由于通信可能以任何频率从多个端口进入,因此在将字符串打印到我想要的位置之前,我需要一段代码来识别我不想要的所有内容并将其从缓冲区中删除。
例如使用上面相同的随机文本,我想去掉末尾的两个随机字符串(在中间的“ThisIsTheStringIWant”之前和之后)。
efefhokiehfdThisIsTheStringIWantcbunlokew
我已尝试使用此问题中投票率最高的答案,但是我找不到在我想要的字符串之前删除不需要的文本的方法。 Remove characters after specific character in string, then remove substring?
如果有人能帮忙,那就太好了!
谢谢!
编辑:
抱歉,我应该把我的问题说得更清楚些。
任何可能的字符数都可以在我想要的实际字符串之前和/或之后,并且由于我想要的字符串来自串行端口,因此每次都会有所不同,具体取决于来自串行端口的通信.在我的应用程序中,我在 DGV 中有一个名为“Extract”的单元格,并通过输入我期望的通讯的第一位(在这种情况下,提取将是 This)。但这取决于我在做什么。
【问题讨论】:
-
好像不用,直接把字符串替换成匹配就行了,还是这部分是更大的字符串?
-
您是否需要删除原始字符串中的其他字符?你可以创建一个新的字符串列表,例如使用吗?或者只是用您在字符串中找到的文本覆盖原始字符串?
-
嗯? '删除字符串周围的文本' 只留下那个字符串。所以:除了用你想要的字符串替换旧字符串之外别无他法..?