拼音字母搜索

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29883183/article/details/80354042


package com.huikemgmt.common;

/**
 * 字符工具类
 *
 * @author wangxl
 * @date 2018-05-17
 */
public class StringUtil {

    /**
     * 输入 "A "  "F" ,返回连续的字母字符串 " 'A', 'B', 'C', 'D', 'E', 'F' "
     *
     * @param begin
     * @param end
     * @return
     */
    public static String getContinousUpperCaseLetter(String begin ,String end){ //单元测试必须是
        int beginAscii = begin.charAt(0);
        int endAscii = end.charAt(0);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < (endAscii - beginAscii + 1); i++) {
            Character a = (char)(beginAscii+i) ;
            if (i == endAscii - beginAscii) {
                String s = "'" + a.toString() + "'";
                sb.append(s);
                break;
            }
            String s = "'" + a.toString() + "', ";
            sb.append(s);
        }
        return sb.toString();//返回值为 'A', 'B', 'C', 'D', 'E', 'F'
    }

    public static void main(String[] args) {
        String s = StringUtil.getContinousUpperCaseLetter("A", "F");
        System.out.println(s);
    }
}


SELECT
CustomerId customerId,
CustomerName customerName
FROM
customer_all_info
WHERE

        getFirstPinYinChar (CustomerName) IN ('A', 'B')


/*
存储函数的说明: 输入中文字符串 返回 中文第一个字符的拼音 (输入 白宫 返回 B)   SELECT getFirstPinYinChar('白宫');
wangxl
Date: 2018-04-26 17:30:00
*/
DROP FUNCTION IF EXISTS `getFirstPinYinChar`;
DELIMITER ;;
CREATE FUNCTION `getFirstPinYinChar`(PARAM VARCHAR(255)) RETURNS varchar(2) CHARSET utf8
BEGIN
    DECLARE V_RETURN VARCHAR(255);
    DECLARE V_FIRST_CHAR VARCHAR(2);
    SET V_FIRST_CHAR = UPPER(LEFT(PARAM,1));
    SET V_RETURN = V_FIRST_CHAR;
    IF LENGTH( V_FIRST_CHAR) <> CHARACTER_LENGTH( V_FIRST_CHAR ) THEN
    SET V_RETURN = ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(PARAM USING gbk),1)),16,10),
        0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,
        0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,
        0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),
    'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z');
    END IF;
    RETURN V_RETURN;
END
;;
DELIMITER ;

阅读更多

拼音字母

04-22

怎么用java实现下面题目:rn在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。比如,在铁路售票软件中,输入: “bj”就可以定位到“北京”。怎样在自己的软件中实现这个功能呢?问题的关键在于:对每个汉字必须能计算出它的拼音首字母。rnrn GB2312汉字编码方式中,一级汉字的3755个是按照拼音顺序排列的。我们可以利用这个特征,对常用汉字求拼音首字母。rnrn GB2312编码方案对每个汉字采用两个字节表示。第一个字节为区号,第二个字节为区中的偏移号。为了能与已有的ASCII编码兼容(中西文混排),区号和偏移编号都从0xA1开始。rnrn 我们只要找到拼音a,b,c,...x,y,z 每个字母所对应的GB2312编码的第一个汉字,就可以定位所有一级汉字的拼音首字母了(不考虑多音字的情况)。下面这个表给出了前述信息。请你利用该表编写程序,求出常用汉字的拼音首字母。rnrnrna 啊 B0A1rnb 芭 B0C5rnc 擦 B2C1rnd 搭 B4EErne 蛾 B6EArnf 发 B7A2rng 噶 B8C1rnh 哈 B9FErnj 击 BBF7rnk 喀 BFA6rnl 垃 C0ACrnm 妈 C2E8rnn 拿 C4C3rno 哦 C5B6rnp 啪 C5BErnq 期 C6DArnr 然 C8BBrns 撒 C8F6rnt 塌 CBFArnw 挖 CDDArnx 昔 CEF4rny 压 D1B9rnz 匝 D4D1rnrnrn【输入、输出格式要求】rnrn 用户先输入一个整数n (n<100),表示接下来将有n行文本。接着输入n行中文串(每个串不超过50个汉字)。rnrn 程序则输出n行,每行内容为用户输入的对应行的汉字的拼音首字母。rnrn 字母间不留空格,全部使用大写字母。rnrn 例如:rn 用户输入:rn3rn大家爱科学rn北京天安门广场rn软件大赛rnrn 则程序输出:rnDJAKXrnBJTAMGCrnRJDSrnrn

没有更多推荐了,返回首页