C#之使用StringHelper来处理汉字转拼音

2021-03-28 17:25

阅读:460

标签:汉字   51cto   init   this   .text   help   等等   字母   []   

StringHelper字符串处理帮助

现在已经实现的功能有:

1.用给定的字符填充源字符串的左边以达到指定的长度

2.用给定的字符填充源字符串的右边以达到指定的长度

3.转半角的函数(DBC case)

4.转全角的函数(SBC case)

5.汉字转拼音缩写

6.取单个字符的拼音声母

等等

演示一下:汉字转拼音缩写

?我是那Windows窗体写的
技术分享图片

代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PyCodeDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.label1.Text = StringHelper.PYConvert(this.textBox1.Text.Trim(), true);
        }
    }
}

实现后的结果:

技术分享图片

下面看一下StringHepler的代码:


using System;

namespace PyCodeDemo
{
    /// 
    /// StringHelper 的摘要说明。
    /// 
    public class StringHelper
    {
        public StringHelper()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
//      /// 
//      /// 用给定的字符填充源字符串的左边以达到指定的长度
//      /// 
//      /// 源字符串
//      /// 字符串指定的长度
//      /// 填充字符
//      /// 
//      // public static string PadString(string sourceString, int maxLength, string padCharacter)
//      public static string LeftPadString(string sourceString, int maxLength, char padCharacter)
//      {
//
//          string result = "";
//
//          if (sourceString.Length > maxLength)
//          {
//              result = sourceString.Substring(0,maxLength);
//          }
//          else
//          {
//              result = sourceString.PadLeft(maxLength,padCharacter);
////                while (result.Length 
//      /// 用给定的字符填充源字符串的右边以达到指定的长度
//      /// 
//      /// 源字符串
//      /// 字符串指定的长度
//      /// 填充字符
//      /// 
//      public static string RightPadString(string sourceString, int maxLength, char padCharacter)
//      {
//
//          string result = "";
//
//          if (sourceString.Length > maxLength)
//          {
//              result = sourceString.Substring(0,maxLength);
//          }
//          else
//          {
//              result = sourceString.PadRight(maxLength,padCharacter);
//              //              while (result.Length 
        /// 转半角的函数(DBC case)
        /// 
        /// 任意字符串
        /// 半角字符串
        ///
        ///全角空格为12288,半角空格为32
        ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
        ///
        public static string ToDBC(string input)
        {    
            char[] c=input.ToCharArray();
            for (int i = 0; i 65280 && c[i]
        /// 转全角的函数(SBC case)
        /// 
        /// 任意字符串
        /// 全角字符串
        ///
        ///全角空格为12288,半角空格为32
        ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
        ///        
        public static string ToSBC(string input)
        {
            //半角转全角:
            char[] c=input.ToCharArray();
            for (int i = 0; i 

        /// 汉字转拼音缩写

        /// 

        /// 要转换的汉字字符串

        /// 拼音缩写

        public static string PYConvert(string str,bool Upper)

        {

            string Result = string.Empty;

            foreach(char c in str)

            {

                if((int)c >= 33 && (int)c 

        /// 取单个字符的拼音声母

        /// 

        /// 要转换的单个汉字

        /// 拼音声母

        internal static string Convert(string c,bool Upper)

        {
            string result=string.Empty; 
            byte[] array = new byte[2];

            array = System.Text.Encoding.Default.GetBytes(c);

            int i = (short)(array[0] - ‘\0‘) * 256 + ((short)(array[1] - ‘\0‘));

            //if ( i = 0xB0A1)&&( i = 0xB0C5)&&( i = 0xB2C1)&&( i = 0xB4EE)&&( i = 0xB6EA)&&( i = 0xB7A2)&&( i = 0xB8C1)&&( i = 0xB9FE)&&( i = 0xBBF7)&&( i = 0xBFA6)&&( i = 0xC0AC)&&( i = 0xC2E8)&&( i = 0xC4C3)&&( i = 0xC5B6)&&( i = 0xC5BE)&&( i = 0xC6DA)&&( i = 0xC8BB)&&( i = 0xC8F6)&&( i = 0xCBFA)&&( i = 0xCDDA)&&( i = 0xCEF4)&&( i = 0xD1B9)&&( i = 0xD4D1)&&( i 

C#之使用StringHelper来处理汉字转拼音

标签:汉字   51cto   init   this   .text   help   等等   字母   []   

原文地址:http://blog.51cto.com/13758648/2146011


评论


亲,登录后才可以留言!