首页 > 其他分享 >图片中文名称转换为拼音带音调,最终复制图片到新文件夹的方法

图片中文名称转换为拼音带音调,最终复制图片到新文件夹的方法

时间:2023-01-06 12:46:13浏览次数:40  
标签:arr ch string System 文件夹 中文名称 pinyins using 图片

using Microsoft.International.Converters.PinYinConverter;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Linq;
using System.Text;

namespace test
{
    class Program
    {
        /// <summary>
        /// 汉字转全拼
        /// </summary>
        /// <param name="strChinese"></param>
        /// <returns></returns>
        public static string ConvertToAllSpell(string xsource)
        {
            var pinyins = new List<string>();

            char ch;
            ChineseChar cc;
            for (int i = 0; i < xsource.Length; i++)
            {
                ch = xsource[i];

                if (ChineseChar.IsValidChar(ch))
                {
                    cc = new ChineseChar(ch);
                    pinyins.Add(cc.Pinyins.Where(p => !string.IsNullOrWhiteSpace(p)).ToList()[0]);
                }
                else
                {
                    pinyins.Add(ch.ToString());
                }

                //pinyins = pinyins.ConvertAll(p => Regex.Replace(p, @"\d", "").ToLower());
            }

            return string.Join("", pinyins).ToLower();
        }

        /// <summary>
        /// create_pinyin_img_rename(out var dic, out var arr);
        /// </summary>
        /// <param name="dic"></param>
        /// <param name="arr"></param>
        private static void create_pinyin_img_rename(out string dic, out string[] arr)
        {
            dic = @"C:\Users\Admin\Downloads\imgxxxx\";

            arr = Directory.GetFiles(dic, "*");

            foreach (var f in arr)
            {
                string x = f.Split(new[] {@"imgxxxx\"}, StringSplitOptions.None)[1].Replace(".png", "");

                x = ConvertToAllSpell(x);

                File.Copy(f, @"C:\Users\Admin\Downloads\imgxxxx\renamed\" + x + ".png");
            }
        }

        static void Main(string[] args)
        {
            
            Console.ReadKey();
        }
    }
}

  

标签:arr,ch,string,System,文件夹,中文名称,pinyins,using,图片
From: https://www.cnblogs.com/IBPM/p/17030114.html

相关文章

  • SiteFactory编辑器支持Word图片一键粘贴
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘......
  • Python文件夹操作
    如何使用python新建文件夹以及递归创建文件夹os.mkdir使用python创建文件夹,通常使用os.mkdir方法,在使用这个方法时有几个小的细节需要注意,假设你的代码是这样编写的i......
  • android之调用webservice实现图片上传
    最近boss要求做android客户端的图片上传和下载,就是调用服务器的webservice接口,实现从android上传图片到服务器,然后从服务器下载图片到android客户端。需求下来......
  • ANSYS保存不同时刻的图片
    我们有时候需要单独保存workbench中某个时刻的图片,如果直接通过Images进行保存的话,它只会保存最后时刻的图片。原因在与Details中的DisplayTime默认为Last,也即workbench......
  • 根据图片地址链接下载图片
    /***根据图片链接下载图片*/constdownloadImg=()=>{constcanvas=document.createElement('canvas');constimg=document.createElement(......
  • Unity3D中Resources动态加载NGUI图片
    在NGUI中有些图片我需要动态进行变更或者加载,怎么办?首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~NGUI加载图片......
  • 眼疾图片识别
    项目简介:如今近视已经成为困扰人们健康的一项全球性负担,在近视人群中,有超过35%的人患有重度近视。近视会拉长眼睛的光轴,也可能引起视网膜或者络网膜的病变。随着近视度数......
  • CSS 干掉图片背景
    1.首先图片需要有一个容器,容器需要有背景颜色,默认是#fff<divclass="container"><imgsrc="xxx.png"alt=""/></div>2.然后指定混合模式和滤镜.container{b......
  • 1_使用swiper数组对象循环图片遇到的问题
    今天在练习微信小程序的swiper组件时,想用列表循环出图片,发现图片一直没出来,控制台也没有报错,后来仔细一看,原来是语法格式写错了。以下是我列表循环踩过的坑:一:微......
  • SiteFactory编辑器支持Word图片自动粘贴
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java"......