精华内容
下载资源
问答
  • 忽略大小写比较字符串大小

    千次阅读 2015-10-11 17:31:29
    问题描述 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符...但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如”Hello”和”hello”在忽略字母大小时是相等的。请一个程序,实现对

    问题描述
    一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如”Hello”和”hello”在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。
    输入
    输入为两行,每行一个字符串,共两个字符串。(请用cin.getline(s,80)录入每行字符串)(每个字符串长度都小于80)
    输出
    如果第一个字符串比第二个字符串小,输出一个字符”<”
    如果第一个字符串比第二个字符串大,输出一个字符”>”
    如果两个字符串相等,输出一个字符”=”
    输入示例

    第一组
    Hello
    hello
    第二组
    hello
    HI
    第三组
    hello
    HELL

    输出示例

    第一组
    =
    第二组
    <
    第三组
    >

    提示
    注意,只统计小写元音字母a,e,i,o,u出现的次数。
    strcmp的实现如下,结果用result保存。

    int i = 0;
    char result;
    while (s1[i] != '\0' && (s1[i] == s2[i])){
        i++;
    }
    if (s1[i] > s2[i]) {
        result = '>';
    } else if (s1[i] < s2[i]) {
        result = '<';
    } else{
        result = '=';
    }

    源码

    #include <iostream>
    using namespace std;
    
    int main()
    {
        char s1[80] = {0};
        char s2[80] = {0};
        cin.getline(s1, 80);
        cin.getline(s2, 80);
        int i = 0;
        while(i < 80 &&(s1[i] != 0 || s2[i] != 0))
        {
            if (s1[i] >= 97 && s1[i] <=122)
            {
                s1[i] -= 32;
            }
            if (s2[i] >= 97&& s2[i] <=122)
            {
                s2[i] -= 32;
            }
    
            if (s1[i] == s2[i])
            {
                i++;
            }
            else if (s1[i] > s2[i])
            {
                cout << ">" << endl;
                return 0;
            }
            else if (s1[i] < s2[i])
            {
                cout << "<" << endl;
                return 0;
            }
        }
        cout << "=" << endl;
        return 0;
    }
    展开全文
  • js 不区分大小写比较字符串

    万次阅读 多人点赞 2015-05-11 15:02:35
    比如:先把要比较字符串统一一下大小,然后在进行比较,这样是不是就省事多了,在js中有两个这样的方法: toUpperCase():把字符串转换为大写; toLowerCase() :把字符串转换为小写。 用法如下: str....

    js是一种区分大小写的语言,如果用到不需要区分大小写的时候我们就要转换一下思路了。
    比如:先把要比较的字符串统一一下大小写,然后在进行比较,这样是不是就省事多了,在js中有两个这样的方法:
    toUpperCase():把字符串转换为大写;
    toLowerCase() :把字符串转换为小写。
    用法如下:
    str.toUpperCase():将字符串str中的字符都转换为大写。
    str.toLowerCase():将字符串str中的字符都转换为小写。

    展开全文
  • Description 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个...但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如“Hello”和“hello”,在忽略字母大小时是...

     

    Description  

    一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如“Hello”和“hello”,在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。 
    要求用一个自定义函数实现忽略大小写的比较过程,用函数的返回值表示比较的结果:若返回值为0表示两个字符串相等;若返回值为1表示第一个字符串比第二个字符串大;若返回值为-1表示第一个字符串比第二个字符串小。 
    函数定义为:int MyStrCmp(char *pStr1,char *pStr2)

    Input  

    输入数据共有两行,每行一个字符串,字符串中可能包含空格和其它非字母字符,并且每个字符串长度都不超过80个字符。

    Output  

    如果第一个字符串比第二个字符串小,输出一个字符“<”; 
    如果第一个字符串比第二个字符串大,输出一个字符“>”; 
    如果两个字符串相等,输出一个字符“=”。

    Sample Input  


    Hello
    hello


    Sample Output  


    =

     方法一:

    #include<stdio.h>
    #include<string.h>
    
    int bijiao(char a[100],char b[100])
    {
    	int i=0;
    	while(a[i]!='\0' && b[i]!='\0'){
    		if(a[i]==b[i]) i++;
    		else if(a[i]>b[i]){
    			if(a[i]>='a' && a[i]<='z' && b[i]>='A' && b[i]<='Z' && a[i]-32==b[i]) i++;
    			else return 1;
    		}
    		else if(a[i]<b[i]){
    			if(a[i]<b[i]){
    				if(a[i]>='A' && a[i]<='Z' && b[i]>='a' && b[i]<='z' && a[i]==b[i]-32) i++;
    				else return -1;
    			}
    		}
    	}
    	if(a[i]=='\0' && b[i]=='\0') return 0;
    	else if(a[i]=='\0' && b[i]!='\0') return -1;
    	else if(a[i]!='\0' && b[i]=='\0') return 1;
    }
    
    int main(){
    	char a[100],b[100];
    	int n;
    	gets(a);
    	gets(b);
    	n=bijiao(a,b);
    	if(n==0) printf("=\n");
    	else if(n==1) printf(">\n");
    	else if(n==-1) printf("<\n");
    }
    
    注意;i=0;

    方法二:

    #include<stdio.h>
    #include<string.h>
    int MyStrCmp(char *pStr1,char *pStr2);
    
    int main(){
    	int n;
    	char a[85];
    	char b[85
    		];
    	gets(a);
    	gets(b);
    	n=MyStrCmp(a,b);
    	if(n==0) printf("=\n");
    	else if(n==-1) printf("<\n");
    	else if(n==1) printf(">\n");
    }
    
    int MyStrCmp(char *pStr1,char *pStr2){
    	int i=0;
    	while(pStr1[i]!='\0'&& pStr2[i]!='\0'){
    		if(pStr1[i]==pStr2[i]) i++;
    		else if(pStr1[i]>pStr2[i]) { 
    			if((pStr1[i]>='a' && pStr1[i]<='z') && (pStr2[i]>='A' && pStr2[i]<='Z') && (pStr1[i]-32)==pStr2[i]){
    		    		i++;
    				}
    
    			else return 1;
    		}
    		else if(pStr1[i]<pStr2[i]){
    			if((pStr1[i]>='A' && pStr1[i]<='Z') && (pStr2[i]>='a' && pStr2[i]<='z') && pStr1[i]==(pStr2[i]-32)){
    					i++;
    				}
    			else 
    				return -1;
    		}
    	}
    	if(pStr1[i]=='\0' && pStr2[i]=='\0')
    		return 0;
        else if(pStr1[i]=='\0'&& pStr2[i]!='\0')
    		return -1;
    	else if(pStr1[i]!='\0'&& pStr2[i]=='\0')
    		return 1;
    }
    
    
    
    
    

     

    展开全文
  • 日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行...

    日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串
    白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。

    日期和时间模式(注意大小写,代表的含义是不同的)

    yyyy:年
    MM:月
    dd:日
    hh:1~12小时制(1-12)
    HH:24小时制(0-23)
    mm:分
    ss:秒
    S:毫秒
    E:星期几
    D:一年中的第几天
    F:一月中的第几个星期(会把这个月总共过的天数除以7)
    w:一年中的第几个星期
    W:一月中的第几星期(会根据实际情况来算)
    a:上下午标识
    k:和HH差不多,表示一天24小时制(1-24)。
    K:和hh差不多,表示一天12小时制(0-11)。
    z:表示时区  

    (2017-12-28日,更新)

    因为看到了Java 8 里面对日期的格式化操作的API,回头又看了看这个以前的日期格式化。发现,文中的实例不是很全面。不符合湿胸的性格,特地来完善一下。

        private static void formatDataTest() {
            /*
             * 日期转期望格式的字符串
             */
            //HH 和 hh 的差别:前者是24小时制,后者是12小时制。
            StringBuilder sb = new StringBuilder();
            sb.append("yyyy年MM月dd日 HH:mm:ss")
                    .append(" 上下午标志 a")
                    .append(" E")
                    .append(" 一年中的第D天")
                    .append(" 一月中的第F个星期")
                    .append(" 一年中的第w个星期")
                    .append(" 一月中的第W个星期")
                    .append(" Z")
                    .append(" z");
            SimpleDateFormat sdf = new SimpleDateFormat(sb.toString());
            String dateString = sdf.format(new Date());
            System.out.println(dateString);
            /*
             * 字符串转日期
             */
            Date date;
            try {
                date = sdf.parse(dateString);
                System.out.println(date);
            } catch (ParseException e) {
                System.out.println(e.getMessage());
            }
        }

    运行结果:

    2017年12月28日 18:21:731 上下午标志 下午 星期四 一年中的第362天 一月中的第4个星期 一年中的第52个星期 一月中的第5个星期 +0800 CST
    Thu Dec 28 18:21:00 CST 2017

    这里多说一句,一个月中的第几个星期,  F   这个出来的结果,不靠谱,具体我就在这多做测试啦,我是测试过,才这么说的,还是后面的那个  W  靠谱。

    (更新完成)

    具体简单常见的实例:

    package com.lxk.DateFormat;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * Created by lxk on 2016/11/4
     */
    public class Format {
        public static void main(String[] args) {
            Date ss = new Date();
            System.out.println("一般日期输出:" + ss);
            System.out.println("时间戳:" + ss.getTime());
            //Date aw = Calendar.getInstance().getTime();//获得时间的另一种方式,测试效果一样
            SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间
            System.out.println("格式化结果0:" + time);
            SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
            time = format1.format(ss.getTime());
            System.out.println("格式化结果1:" + time);
        }
    }
    

    测试结果图:

    需要什么格式,自己拼好字符串,就可以格式化日期啦。授人以渔呀有木有。

    喷子们要是觉得简单呢,就省省唾沫星子吧。我就记个笔记用。

    上面的是:日期转自己想要的字符串格式,下面是字符串转日期类型

        private static void testStringToDate() {
            String s = "2017-05-25";
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date date = null;
            try {
                date = format.parse(s);
            } catch (ParseException e) {
                System.out.println(e.getMessage());
            }
            System.out.println(date);
        }

    下面是运行的debug截图。

    上面的那个  日期和时间模式  是按我们常用的年月日时分秒来放的,下面传个别人的专业的图,供参考。

    定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

    我写完文章,给自己点个赞,不过分吧,
    不过分,那我可就点啦啊。
    我先点为敬,你们随意。大家随意。不要客气。。。

    展开全文
  • C语言 16行代码实现字符串中指定字符串替换

    万次阅读 多人点赞 2018-08-03 17:05:35
    支持: 1.等长字符串替换 2.长字符串替换为短字符串 3.短字符串替换为长字符串 4.中文替换 .../* 功 能:将str字符串中的oldstr字符串替换为newstr字符串 * 参 数:str:操作目标 oldstr:被替换者...
  • //【注意】自己一个实现字符串反转的方法:对于初学者练手很有必要, //StringBuffer自己有字符串反转的方法,所以在实际开发中,直接调用就行 public static String reverseIt(String str){ int i; int len...
  • 目录字符串比较字符串长度字符串拷贝字符串拼接 字符串比较 比较两个字符串指针:如果两个字符串相等,返回0 strcmp(区分大小) //多字节 stricmp(不区分大小) //多字节 wcscmp(区分大小) //宽字节 wcsicmp...
  • 题目: 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前...但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小时是相等的。请一个程序,实..
  • 忽略大小字符串比较 C语言

    千次阅读 2018-11-24 22:48:15
    一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,...
  • Tcl的字符串操作:比较字符串

    千次阅读 2019-04-06 22:50:12
    在Tcl中,可利用string compare命令对字符串进行比较。该命令需要接收两个字符串参数。如果第一个字符串在字典中先于第二个字符串,返回-1;如果第一个字符串在字典中后于第二个字符串,返回1,如果两者相同,返回0...
  • python 比较字符串是否一样

    万次阅读 多人点赞 2018-11-20 09:25:27
    如果两个字符串末尾有其他符号,比如回车‘\n’,print的时候无法发现的,所以需要strip: a=a.strip() b=b.strip() if a==b: print &amp;amp;amp;quot;True&amp;amp;amp;quot; 2.有时候==判断是 Tr...
  • extern int stricmp(const char *s1,const char * s2);   用法:#include 功能:比较字符串s1和s2,但不区分字母的大小。 说明:strcmpi是到stricmp的宏定义,实际未提供此函数
  • vim 忽略大小查找字符串

    万次阅读 2016-10-12 14:41:02
    Vim 忽略大小查找字符串
  • 一函数,实现两个字符串比较,即自己一个strcmp函数 #include<stdio.h> #include<string.h> void compare(char *p,char *q); void main() { char s1[10],s2[10]; //要成字符数组,不能成...
  • 在Java中,经常需要比较两个字符串,这里总结一下。   1.判断字符串是否相等 在Java中,可以使用“==”来进行判断字符串是否相等。 示例: String s1="Hello"; String s2="Hello"; //...
  • c++中不区分大小写比较字符串大小

    万次阅读 2016-05-26 16:34:23
    不区分大小 bool JGUtil ::compareNoCase( std :: string strA, const std :: string strB) {   string str1 = strToLower (strA);   string str2 = strToLower (strB);   ...
  • 方法一:将待比较字符串都转成大写 static void Main(string[] args) { string stringOne = "abc"; stringOne.ToUpper();...OrdinalIgnoreCase是枚举类型,可以对字符串不区分大小写比较
  • 1.程序功能为输入5个字符串,使用库函数strcmp()比较字符串大小,由小到大排序并输出。下列程序 代码有错误,请修改为正确代码。 输入格式: 请输入5个字符串字符串可以包含空格。 输出格式: 请输出排序后的字符串...
  • c语言比较两个字符串是否相等strcmp

    万次阅读 多人点赞 2017-03-27 13:38:46
    C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子: #include #include int main(void) { char str_1[] = "abc"; char str_2[] = "abc"; char str_3[] = ...
  • 两个字符串比较

    万次阅读 2018-03-02 14:36:00
    两个字符串比较大小: 一、可以用compareTo()方法,另外还有compareToIgnoreCase(String) 忽略大小及 compareTo(object string)这些 方法返回值是int,以compareTo()方法为例: 1 .如果字符串相等返回值为0...
  • 忽略大小字符串比较

    千次阅读 2012-07-05 14:30:53
    在我们程序的时候,经常会用到字符串对比。...其实这样不是很好的比较方式,字符串在进行大小转换时会消耗额外的性能。 可以用StringComparison.OrdinalIgnoreCase枚举值实现。具体代码如下 C
  • 自己的(字符串连接函数)MyStrcat

    千次阅读 2018-11-11 21:00:57
    4943: 字符串链接 Time Limit: 1 Sec Memory Limit: 32 MB Description 不用strcat函数,自己编写一个字符串连接函数MyStrcat(char dstStr[],char srcStr[]),注意要单独编成函数,提交的时候提交全部的程序,...
  • C语言库函数提供了可以忽略大小进行比较的函数,这个函数就是 int strnicmp(const char *, const char *, __kernel_size_t); 在liunx内核中,这个函数是这样实现的: int strnicmp(const char *s1, const char ...
  • Swift 字符串比较/判断

    万次阅读 2017-02-21 13:09:40
    字符串比较可以分为:不区分大小比较、区分大小比较以及本地化比较三部分。首先我们来看不区分大小比较,不区分大小比较顾名思义就是不区分字符串中字母的大小,即A和a相同。在NSString
  • c++字符串与c字符串

    千次阅读 多人点赞 2019-05-27 19:32:26
    字符串字面量3.C++ std::string 类3.1 C风格字符串的优势和劣势3.2 使用string类3.2.1 std::string 字面量3.2.2 c++字符串的数值转换(1)字符串转数值(2)数值转字符串3.2.3 常用字符串函数3.2.4 原始字符串字面量 ...
  • 在js中字符串是区分大小的,如果要求不区分的话,用下面的函数: /** * 忽略大小判断字符串str是否包含subStr * @param subStr 子字符串 * @param str 父字符串 * @returns boolean */ function ...
  • C语言strncasecmp()函数:比较字符串的前n个字符 头文件:#include ...函数说明:strncasecmp()用来比较参数s1 和s2 字符串前n个字符,比较时会自动忽略大小的差异。 返回值:若参数s1 和s2 字符串相同则返回0

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,258,209
精华内容 903,283
关键字:

自写比较字符串