判断字符串类型以及对比

2023-10-30


        /// <summary>
        /// 将数组转换为字符串
        /// </summary>
        /// <param name="vStrs">需要转换的数组</param>
        /// <returns>转换成功后的字符串</returns>
        public static string ArrayToString(string[] vStrs)
        {
            StringBuilder stringBuilder = new StringBuilder();
            int i;
            for (i = 0; i < vStrs.Length - 1; i++)
            {
                stringBuilder.Append(vStrs[i].Replace("@", "@@"));
                stringBuilder.Append("<@>");
            }
            stringBuilder.Append(vStrs[i].Replace("@", "@@"));
            return stringBuilder.ToString();
        }


        /// <summary>
        /// 将字符串转换为数组
        /// </summary>
        /// <param name="vStr">需要转换的字符串</param>
        /// <returns>转换成功后的数组</returns>
        public static string[] StringToArray(string vStr)
        {
            string text = "<@>";
            List<string> list = new List<string>();
            int num = 0;
            int num2;
            while ((num2 = vStr.IndexOf(text, num)) != -1)
            {
                string item = vStr.Substring(num, num2 - num).Replace("@@", "@");
                list.Add(item);
                num = num2 + text.Length;
            }
            string item2 = vStr.Substring(num).Replace("@@", "@");
            list.Add(item2);
            return list.ToArray();
        }




        /// <summary>
        /// 比较两个字符串是否相等
        /// </summary>
        /// <param name="string1">字符串1</param>
        /// <param name="string2">字符串2</param>
        /// <param name="ignoreCase">是否区分大小写</param>
        /// <returns>比较结果</returns>
        public static bool SafeCompare(string string1, string string2, bool ignoreCase)
        {
            return string1 != null
                && string2 != null
                && string1.Length == string2.Length
                && string.Compare(string1, string2, ignoreCase, CultureInfo.InvariantCulture) == 0;
        }




        /// <summary>
        /// 比较两个对象转换为字符串是否相等
        /// </summary>
        /// <param name="a">字符串1</param>
        /// <param name="b">字符串2</param>
        /// <param name="ignoreCase">是否区分大小写</param>
        /// <returns>比较结果</returns>
        public static bool SafeCompare(object a, object b, bool ignoreCase)
        {
            string aStr = string.Empty;
            string bStr = string.Empty;


            if (a != null)
            {
                aStr = a.ToString();
            }


            if (b != null)
            {
                bStr = b.ToString();
            }


            return SafeCompare(aStr, bStr, ignoreCase);
        }


        /// <summary>
        /// 检测字符是否为空
        /// </summary>
        /// <param name="p">需要检测的字符</param>
        /// <returns>检测结果</returns>
        public static bool IsEmptyChar(char p)
        {
#if Computer
            return char.IsWhiteSpace(p);
#else
            if (p == '\r' || p == '\n' || p == '\t' || p == ' ')
            {
                return true;
            }
            return false;
#endif
        }


        /// <summary>
        /// 类型匹配
        /// </summary>
        /// <param name="type">类型</param>
        /// <param name="typeName">类型的名称</param>
        /// <returns>读取的结果</returns>
        public static bool IsType(Type type, string typeName)
        {
            if (type == null)
            {
                return false;
            }
            else if (type.ToString() == typeName)
            {
                return true;
            }
            if (type.ToString() == "System.Object")
            {
                return false;
            }
            else
            {
                return IsType(type.BaseType, typeName);
            }
        }


        public static bool IsEmpty(object vValue)
        {
            return vValue == null || string.IsNullOrEmpty(vValue.ToString());
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断字符串类型以及对比 的相关文章

  • 怎么理解KMP算法中的next数组(为甚有时候加一有时候不加一?)

    KMP算法怎么来的和找规律 以及对于BF算法他的主要区别就不再赘述我们 我们来说一下怎么用最快的速度加上已知规律找到给定字符串的next数组 C语言中和java中都适用 我们已经找到了部分规律 next数组中的值可能和已匹配部分字符串的前缀
  • 前端开发中常用的校验处理

    前端开发中常用的校验处理 1 手机号码校验 2 身份证正则校验 3 必须输入中文 必须输入英文 4 其它正则校验 1 手机号码校验 function checkPhone var phone document getElementById
  • 模式匹配算法

    下面分别介绍 朴素模式匹配算法 和 改进模式匹配算法 KMP 朴素模式匹配算法思想 从目标S中的第一个字符开始和模式T中的的第一个比较 用 i 和 j 分别指示S串和T串中正在比较字符的位置 若相等 则继续逐个比较后续字符 否则 从S 的第
  • 8.翻转子串

    题目描述 假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串 请将这个算法编写成一个函数 给定两个字符串s1和s2 请编写代码检查s2是否为s1旋转而成 要求只能调用一次检查子串的函数 给定两个字符串s1 s2 请返回bool
  • 数据结构和算法(堆排序和哈夫曼树、哈夫曼编码、解码)

    堆排序 一般使用大顶堆升序排列 使用小顶堆降序排列 下图为代码测试的树 数组格式 堆降序代码实现 import java util Arrays public class HeapSort public static void main S
  • Java——3.字符串的替换和去除空格操作_replace ()和 trim ()方法

    程序开发中 用户输入数据时经常会有一些错误和空格 这时可以使用 String 类的 replace 和 trim 方法 进行字符串的替换和去除空格操作 ExampleAPI04 public class ExampleAPI04 publi
  • java编程题检索一个字符串中出现元音字符长度最长是多少?

    java编程题 题目 给定一个字符串 返回最长元音字母字串长度 测试举例 输入为 asdbuiodea 输出为3 因为uio三个元音字姆是最长的 分析题目 可以理解为元音字母连续且最长 遍程思路 我个人是将用户输入的字符串和元音字符串分别转
  • 每日一练(三十七)

    文章目录 3 1 求字符串的子串个数 3 2 判断程序输出 3 3 strlen 实现 3 4 strcmp 实现 3 5 strcat 实现 每日一练合集 3 1 求字符串的子串个数 3 2 判断程序输出 3 3 strlen 实现 in
  • 【python总结】python学习框架梳理

    目录 基础 注释与变量名等基本规则 关键字 操作符 数字 流程控制 序列 文本序列 字符串 二进制序列 字节 列表 元组 映射 字典 集合 函数 面向对象编程 错误和异常 模块 数据结构与算法 数组 字符串 链表 二分查找 排序 栈 队列
  • LeetCode题目笔记--12.整数转罗马数字

    题目描述 题目跟前面13题描述一样 就是问题变为整数转成罗马数字 思路 上一道题罗马数字转整数比较简单 因为不存在罗马数字表示冲突的问题 即不存在一个罗马数字对应多个整数 而这个问题中 就要考虑一下这个问题了 因为如果不加以约束的话 一个整
  • C语言面试题之字符串操作

    今 天做了花了几分钟做了三道C语言面试题 跟大家分享一下 找错 Void test1 char string 10 char str1 0123456789 strcpy string str1 答 string 大小不够 str1末尾还有
  • Shell if 条件判断

    Shell 语言中的if条件 一 if的基本语法 if command then 符合该条件执行的语句 elif command then 符合该条件执行的语句 else 符合该条件执行的语句 fi 二 文件 文件夹 目录 判断 b FIL
  • 业务实战中如何利用MySQL函数来解决

    随着我们业务越来越复杂的情况下 完全基于java后台来解决首先是很麻烦 而且性能带来降低 代码的可读性下降 这个时候就需要一些MySQL的函数来解决了 这篇文章对于常见的MySQL函数不予介绍 concat函数 使用方法 CONCAT st
  • PTA天梯赛L1-058 6翻了(c语言实现)

    原题链接 这道题稍微有一点点灵活 乍一想还是有点想不到的 主要还是对6的个数进行计数 如果是6则计数有多少个6 如果不是6的话则要进行判断 如果在此之前6的个数超过了3 gt 3 但是小于等于9那么要输出9 如果在此之前6的个数超过了9 g
  • Java基础之String类型详解

    目录 1 简介 2 字符串的比较 3 String的实例化方式 1 直接赋值方式 2 构造方法实例化 4 String对象 常量 池 5 字符串修改 6 String类常用方法 1 字符串查找 2 字符串替换 3 字符串拆分 4 字符串截取
  • 元字符的详细解析

    上一篇文章介绍了正则的用处以及正则中这些元字符的基本含义 但是如果我们只知道那些元字符的含义 不知道怎么使用和加以练习 那么对于正则我们还只是看见了门槛 并没有踏入 那么本篇文章就让我们迈起脚步正式走入正则的世界吧 let s go 我的学
  • Python基础知识(四):一文看懂列表、元组和字符串操作

    序列 序列是具有索引和切片能力的集合 列表 元组和字符串具有通过索引访问某个具体的值 或通过切片返回一段切片的能力 列表 元组 字符串都属于序列 1 列表 列表 List 是Python中非常重要的内置数据类型 列表由一系列元素组成 所有的
  • Python基础数据类型之字符串(一)

    Python基础数据类型之字符串 一 一 字符串格式化 1 字符串占位符 2 字符串格式化操作 二 f string格式化 三 字符串的索引 四 字符串的切片 1 常规切片使用方法 3 步长的介绍 2 切片使用方法二 一 字符串格式化 1
  • 【Java】Java中的String类

    文章目录 一 认识 String 类 二 String 类的常用方法 2 1 构造方法 2 2 String 类对象之间的比较 2 3 字符串查找 2 4 字符串的转换 2 5 字符串替换 2 6 字符串拆分 2 7 字符串截取 2 8 字
  • java中null和isEmpty的区别

    isEmpty 分配了内存空间 值为空 是绝对的空 里面的值为空 分配了内存空间 值为空字符串 是相对的空 里面的值为空 null 未分配内存空间 没有值 是一种无值 值不存在 结论 null只能分辨出值是否分配内存空间 isEmpty不能

随机推荐