You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB入门者求助:如何合并两个字符串变量并保留公共名称、移除非公共名称

合并VB字符串变量并提取公共名称

嘿,作为VB新手碰到这类字符串处理需求很正常,我来一步步教你怎么实现这个功能!

首先咱们先明确需求:假设你有两个存储名称列表的字符串变量(比如用逗号分隔),想要只保留两个字符串里都有的公共名称,并把这些公共名称合并成一个新的字符串,同时去掉各自独有的部分。举个例子:

  • 字符串A:"苹果,香蕉,橙子,草莓"
  • 字符串B:"香蕉,橙子,葡萄,芒果"
  • 最终想要的结果:"香蕉,橙子"

下面是具体的实现代码和步骤说明:

步骤1:拆分字符串为数组

先把两个字符串按分隔符(这里假设是逗号)拆分成字符串数组,方便后续对比:

Dim str1 As String = "苹果,香蕉,橙子,草莓"
Dim str2 As String = "香蕉,橙子,葡萄,芒果"

' 拆分字符串,同时处理可能的空格(比如名称前后有空格的情况)
Dim arr1() As String = str1.Split(","c).Select(Function(s) s.Trim()).ToArray()
Dim arr2() As String = str2.Split(","c).Select(Function(s) s.Trim()).ToArray()

步骤2:提取两个数组的公共元素(交集)

利用LINQ的Intersect方法可以快速找出两个数组的公共部分,这是最简洁的方式:

' 记得在代码开头加Imports System.Linq(如果项目还没引用的话)
Dim commonNames() As String = arr1.Intersect(arr2).ToArray()

步骤3:合并公共元素为新字符串

最后把交集数组再合并成一个用逗号分隔的字符串:

Dim result As String = String.Join(",", commonNames)
' 输出结果就是 "香蕉,橙子"
Console.WriteLine(result)

额外说明

  • 如果你的字符串用的是其他分隔符(比如分号、空格),只需要把Split里的","c改成对应的分隔符就行
  • 如果需要忽略大小写(比如"Banana"和"banana"算同一个名称),可以用Intersect的重载方法:arr1.Intersect(arr2, StringComparer.OrdinalIgnoreCase).ToArray()

内容的提问来源于stack exchange,提问作者Novice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:13:59