取两个字符串的并集与交集的函数

mysql判断两个字符串(以逗号分隔)是否存在交集 参考链接: https://blog.youkuaiyun.com/qq_30607881/article/details/77098130 https://www.cnblogs.com/tranquillity/p/9525176.html https://blog.youkuaiyun.com/lizhuquanx/article/details/84734784 阅读详情


第一个:取两个字符串的并集,如'1,2,3'和'2,5,9'并集为:'1,2,3,5,9'

CREATE FUNCTION dbo.bingSTR(@str1 VARCHAR(1000),@str2 VARCHAR(1000),@splitstr VARCHAR(10))
     RETURNS VARCHAR(2000)
AS
BEGIN
     DECLARE @str VARCHAR(2000),@len INT,@i INT,@s VARCHAR(2000)
     DECLARE @strOut VARCHAR(100),@err VARCHAR(100)
     IF @splitstr='' BEGIN SELECT @err = '无分隔符' GOTO ERR END
     IF CHARINDEX(@splitstr,@str1) = 0
           BEGIN SELECT @err = '第一个字符串不含分隔符' GOTO ERR END
     IF CHARINDEX(@splitstr,@str2) = 0
           BEGIN SELECT @err = '第二个字符串不含分隔符' GOTO ERR END
     ERR:
           IF ISNULL(@err,'') <> '' RETURN(@err)       
     SELECT  @str = @str1 + @splitstr + @str2 + @splitstr
     SELECT @i = 1
     SELECT @len = LEN(@str)
     DECLARE @T table(strT VARCHAR(200))
     SELECT @s = ''
     SELECT @strOut = @splitstr
     WHILE @i <= @len
     BEGIN
           IF SUBSTRING(@str,@i,1) <> @splitstr
                 BEGIN           
                       SELECT @s = @s + SUBSTRING(@str,@i,1)
                 END
           ELSE
                 BEGIN
                       INSERT INTO @T SELECT @s
                       SELECT @s = ''
                 END
           SELECT @i = @i + 1
     END
     SELECT @strOut = @strOut + strT + @splitstr FROM (SELECT DISTINCT strT FROM @T) A
     RETURN(SUBSTRING(@strOut,2,LEN(@strOut)-2))
END

调用方法:
SELECT DBO.bingSTR('2,B','B','')
SELECT DBO.bingSTR('a|b|c','a|b|d','|')
SELECT DBO.bingSTR('3,332,55,66,78','4,55,87,55',',')

第二个:取两个字符串的并集,如'1,2,3'和'2,5,9'交集为:'2'

DROP FUNCTION dbo.jiaoSTR
CREATE FUNCTION dbo.jiaoSTR(@str1 VARCHAR(1000),@str2 VARCHAR(1000),@splitstr VARCHAR(10))
     RETURNS VARCHAR(2000)
AS
BEGIN
     DECLARE @str VARCHAR(2000),@len INT,@i INT,@s VARCHAR(2000)
     DECLARE @strOut VARCHAR(100),@err VARCHAR(100)
     IF @splitstr='' BEGIN SELECT @err = '无分隔符' GOTO ERR END
     IF CHARINDEX(@splitstr,@str1) = 0
           BEGIN SELECT @err = '第一个字符串不含分隔符' GOTO ERR END
     IF CHARINDEX(@splitstr,@str2) = 0
           BEGIN SELECT @err = '第二个字符串不含分隔符' GOTO ERR END
     ERR:
           IF ISNULL(@err,'') <> '' RETURN(@err)
     SELECT  @str = @str1 + @splitstr + @str2 + @splitstr
     SELECT @i = 1
     SELECT @len = LEN(@str)
     DECLARE @T table(strT VARCHAR(200))
     SELECT @s = ''
     SELECT @strOut = @splitstr
     WHILE @i <= @len
     BEGIN
           IF SUBSTRING(@str,@i,1) <> @splitstr
                 BEGIN           
                       SELECT @s = @s + SUBSTRING(@str,@i,1)
                 END
           ELSE
                 BEGIN
                       INSERT INTO @T SELECT @s  
                       SELECT @s = ''
                 END
           SELECT @i = @i + 1
     END
     SELECT @strOut = @strOut + strT + @splitstr FROM
     (SELECT strT FROM @T GROUP BY strT HAVING COUNT(*)>1)A      
     IF LEN(@strOut) = 1 RETURN('NULL')
     RETURN(SUBSTRING(@strOut,2,LEN(@strOut)-2))
END

调用方法:
SELECT DBO.jiaoSTR('2,B','B','')
SELECT DBO.jiaoSTR('a|b|c','a|b|d','|')
SELECT DBO.jiaoSTR('3,332,4f,55f,66,78','4,55F,87',',')

第三个:取差集。。。。
我没写
寻找两个字符串的交集(c语言) 我的思路: 1.将两个字符串简化,将里面重复的字母减少为一个。 2.拼接两个字符串,借助循环把重复出现两次的字符找出来。 阅读详情

相关推荐

Unity3D用c#脚本调用前端javascript函数:H5获取unity - webgl 加载并初始化完成的消息

unity3d发布的Webgl 可以作为静态文件加载到H5页面中,并通过javascript 调用unity内置的C#脚本函数,详见Webgl调用unity api。而往往我们需要知道Webgl ready的消息,本文将给出unity 内部调用javascript函数的方案加以解决。

Bravo 2475

union(并),setdiff(差),intersect(交)R语言含义

union(并) 求两个向量的并集 集合可以是任何数值类型 union(x=1:3, y=2:5) [1] 1 2 3 4 5union(x=c("abc", "12"), y=c("bcd", "efg")) [1] "abc" "12""bcd" "efg"setdiff(差) 求向量x与向量y中不同的元素(只取x中不同的元素) setdiff(x, y) setdiff(x=1:4,

IT届的小学生 8321

Excel也能玩转K-means聚类?手把手教你用表格搞定用户分群(附完整公式)

本文详细介绍了如何在Excel中实现K-means聚类算法,无需编程即可完成用户分群。通过SUMIF、SQRT等基础函数,从数据预处理到最终分群全流程手把手教学,特别强调数据标准化和迭代优化的关键步骤,帮助运营团队低成本高效分析用户行为数据。

weixin_30555125的博客 181

MATLAB知识点: intersect、union、setdiff和setxor函数 交集、并集、差集和对称差集

​讲解视频:可以在bilibili搜索《​。

数学建模学习交流的博客 5962

Zemax实现微透镜阵列光束整形(原理+仿真)

通过Zemax实现微透镜阵列的光场整形仿真。

VJCP_90909Bu0的博客 1万+

数字设计与计算机体系结构习题答案,数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdf...

数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdfDavid Money Harris and Sarah L. Harris, Digital Design and Computer Architecture, © 2007 by Elsevier Inc.Exercise SolutionsC H A P T E R ...

weixin_39851408的博客 1785

交集函数oracle,Oracle中关于并集/交集/差集的运算

1.并集的运算 select name from test1 union [all] select name from test2; 使用union时,默认将对结果进行排序,union all则不1.并集的运算select name from test1union [all]select name from test2;使用union时,,默认将对结果进行排序,union all则不进行排序操作,...

weixin_31220401的博客 1595

Diffusion Model进阶解析:从SDE到概率流ODE的连续化生成建模

本文深入解析了Diffusion Model的连续化生成建模,从离散DDPM和SGM模型引入,阐述了采用随机微分方程(SDE)统一视角的必要性与优势。文章详细拆解了SDE的构成,揭示了其如何统一描述扩散过程,并重点介绍了逆向SDE与确定性的概率流ODE,后者为高效、确定的图像生成提供了理论基础。最后,文章对比了朗之万动力学、数值SDE求解器和数值ODE求解器(如DPM-Solver)等主流采样方法的实战应用与选择策略。

weixin_29099217的博客 437

EXCEL 计算两列的交集和差集

无

oThrowsException的博客 2万+

基于STM32F4XX 、HAL库的SHT40-CD1B-R3温湿度传感器驱动应用C语言程序设计

define SHT40_ADDR_READ 0x8B // CD1B 读地址 ((0x45 << 1) + 1)#define SHT40_ADDR_WRITE 0x8A // CD1B 写地址 (0x45 << 1)// 初始化 I2C1 (根据 CubeMX 生成的函数)// 湿度: -6%RH + 125%RH * (raw / 2^16)// 温度: -45°C + 175°C * (raw / 2^16)// 返回值: 0=成功, 1=失败(CRC错误或I2C通信错误)

PP_Cottage的博客 236

timing window file中的S L T指什么意思

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 771

C++求两个字符串的交集

C++求两个字符串的交集 ```cpp #include <iostream> #include<string.h> using namespace std; void selection(char J[],char S[],int n,int m){//取交集 int i,j; int sum=0; for(j=0;j<m;j++){ for(...

qq_41448372的博客 2894

【深度学习】什么是自回归模型?

自回归模型是一种重要的时间序列模型,通过利用过去的值来预测当前或未来的值。它在统计学、经济学、自然语言处理等领域有广泛的应用。自回归模型的简单性和可解释性使其成为许多应用的首选,但在更复杂的情况下,可能需要结合其他模型如移动平均模型(MA模型)或混合模型(如ARIMA)来更好地捕捉时间序列中的模式。扩散模型(Diffusion Model)和自回归模型(Autoregressive Model)是两种不同的生成模型,各自有独特的特点和应用场景。

q742971636的博客 1670

JS 数据取交集、并集、差集

1. JS 数据取交集、并集、差集 const arr1 = [1,2,3,4,5], arr2 = [5,6,7,8,9]; // 交集 let intersection = arr1.filter(function (val) { return arr2.indexOf(val) > -1 }) // 并集 let union = arr1.concat(arr2.filter(function (val) { return !(arr1.indexOf(val) > -1)

高压锅博客 1540

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Python中两个list取交集、并集、差集以及为字符串str添加、插入特定字符的操作总结

Python中两个list取交集、并集、差集以及为字符串str添加、插入特定字符的操作总结Python中两个list取交集、并集、差集为字符串str添加、插入特定字符的操作总结 Python中两个list取交集、并集、差集 list(set(list_a).intersection(set(list_b))) :获取两个list的交集 list(set(list_a).union(set(list_b))) : 获取两个list的并集 list(set(list_a).difference(set(lis

Yale-曼陀罗 4055

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

c语言求两个字符串的交集,用c语言求两个集合的交集,并集,差集

满意答案ibox52019.05.05采纳率:54%等级:11已帮助:8963人#include#include#include#defineARR_LEN255/*数组长度上限*/#defineelemTypechar/*集合元素数据类型*//*集合数据结构*/typedefstructset{elemTypedata[ARR_LEN];intlength...

weixin_33971463的博客 2937

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

js数组并集,交集,差集的计算方式汇总

前言 今天主要总结一些js数组操作并集,交集,差集的一些方式。发现这些方式在工作用经常遇到,方法有很多种。今天主要总结一下我在工作用通常使用的方式,及一些简单的实现。其实我前面很多文章中都提及了我在工作中用的一些方式。例如:我前面文章讲includes方法,时候就提到了计算交集及差集。还有之前文章去重的方式,其实去重就是取并集的一种方式嘛! 一、new Set 方式实现 这种方式实现起来比较简单,...

sandy_yuyan的博客 2586

matlab学习之关于交集和并集

最近在处理关于人名消歧义的专利数据,有几点需要注意的地方记录下来。 数据主要的有几种:1.不重名的姓名集合,以字符串格式存在多个cell中,类似{‘王一’,‘王二’,‘王三’}。     2.合作网络邻接矩阵,以矩阵格式存储。     3.每个姓名的专利号array存在cell中。 现在需要处理的问题是姓名中可能存在着拼写错误,或书写错误。比如{‘王峰’,和‘王锋’}可能是同一个人,现在需

2094

求两集合的交集与并集

方法1: import java.util.ArrayList; public class Demo12 { //求两个集合的交集和并集 public static void main(String[] args) { String[] arr1 = new String[]{"abc", "df", "abc"}; String[] arr2 = new Str

tan313的专栏 854

如何求两个字符串的交集? 用js求字符串交集和字符串相减结果

用js求字符串交集和字符串相减结果 有时候我们可能会求两个字符串的交集,也就是找到两个字符串里面相同的元素,偶尔也会需要把一个字符串里的与另外的一个字符串重合的元素给删除掉,所以诞生了这篇文章。下面给出案例: 已知有a,b两个字符串,字符串都是由多个词语组成且中间有空格隔开,想要知道a,b字符串有哪些词语相同,并且把其中a字符串内a&b同时存在(即交集)的词语给删除掉,得到一个新的字符串。 解题思路: 1.先把字符串使用split()函数转变成数组 2.再使用filter()函数求得交集 3.使用s

qq_21650491的博客 3261

php 二进制之间取并集,PHP求并集,交集,差集

PHP求并集,交集,差集一、总结一句话总结:在php中如果我想要对两个数组进行如并集、交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersect(),array_diff().array_merge() array_intersect() array_diff()1、php中如何求并集?array_merge() +计算数组的合并 array_...

weixin_39543655的博客 691

python中交集并集用什么符号表示_Python实现两个list求交集,并集,差集的方法示例...

本文实例讲述了Python实现两个list求交集,并集,差集的方法。分享给大家供大家参考,具体如下:在python中,数组可以用list来表示。如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢?当然最容易想到的是对两个数组做循环,即写两个for循环来实现。这种写法大部分同学应该都会,而且也没有太多的技术含量,本博主就不解释了。这里给大家使用更为装bility的一些方法。老规矩,talk...

weixin_34246598的博客 2017

PHP求并集,交集,差集

PHP求并集,交集,差集 一、总结 一句话总结:在php中如果我想要对两个数组进行如并集、交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersect(),array_diff(). array_merge() array_intersect() array_diff() 1、php中如何求并集? array_merge() + ...

weixin_33795806的博客 487

R语言常用函数:交集intersect、并集union、找不同setdiff、判断相同setequal

交集intersect 并集union 找不同setdiff 判断相同setequal 猜你喜欢 写在后面 在R语言进行数据分析时,经常需要找不同组间的相同和不同,那你应该掌握如下几个函数,让你事半功倍。 交集intersect 两个向量的交集,集合可以是数字、字符串等 # 两个数值向量取交集 intersect(x=1:4, y = 2:6) # [1] 2 3 4 ...

刘永鑫的博客——宏基因组公众号 13万+

php 两个数组 交集_PHP数组 并集 交集 差集

并集array_merge字符串键名相同,后面覆盖前面,数字键名会在后面追加,不覆盖,参考代码如下$array1 = array("color" => "red", 2, 4);$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);$result = array_merge($array1...

weixin_40001805的博客 665
上一篇: ASP+XML编程
下一篇: 返回某字符串在另一字符串中第N次出现的位置。
no_mIss
博客等级 码龄21年 9粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值