NSArray进行汉字排序】的更多相关文章

由于NSArray并不直接支持对汉字的排序,这就要通过将汉字转换成拼音完毕按A~Z的排序,这看起来是个头疼的问题.由于牵扯到汉字转为拼音,kmyhy给出一个较易实现的方法,获取汉字的首字的首字母,如将"王"变成"W". 当中他通过pinyinFirstLetter函数获取中文拼音.函数原理是:"pinyinFirstLetter基于这么一个简单的原理:我们知道,在Objective C语言中,字符串是以unicode进行编码的. 在unicode字符集中,…
NSArray利用Cocoa框架进行汉字排序 在NSString有一个函数localizedCompare:,它的功能是通过自身与给定字符串的比較,返回一个本地化的比較结果.也就是说这个函数是支持汉字比較的. Student.h @interface Student : NSObject @property(nonatomic,copy)NSString *stuName; @property(nonatomic,assign)CGFloat stuScore; @property(nonato…
今天我来总结一下NSArray数组的排序方式. NSArray数组的排序有三种方式: 1.简单排序(sortedArrayUsingSelector:) 2.利用block语法(sortedArrayUsingComparator:) 3.高级排序(sortedArrayUsingDescriptors:) 1.简单排序(sortedArrayUsingSelector:) 如果只是对字符串的排序,可以利用sortedArrayUsingSelector:方法就可以了,代码如下: #pragma…
对于包含汉字的字符串来说,排序的方式主要有两种:一种是拼音,一种是笔画. 本文就讲述如何实现按笔划排序的比较器(Comparator). 作者:Jeff 发表于:2007年12月21日 11:27 最后更新于: 2007年12月21日 12:38 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明.http://www.blogjava.net/jeff-lau/archive/2007/12/21/169257.html 笔画排序 要按笔画排序,就要实现笔画…
对于包含汉字的字符串来说,排序的方式主要有两种:一种是拼音,一种是笔画. 本文就讲述如何实现按拼音排序的比较器(Comparator). 作者:Jeff 发表于:2007年12月21日 11:27 最后更新于: 2007年12月21日 12:38 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明.http://www.blogjava.net/jeff-lau/archive/2007/12/21/169257.html 拼音排序 拼音有好几种方式,其中最主…
<?phpheader("content-type:text/html;charset=utf-8");$array=array('重庆市','上海市','安徽省','吉林省','天津市','内蒙古自治区','沈阳市','浙江省','广东省','云南省');foreach($array as $value){ $arr[]=iconv('UTF-8', 'GBK', $value);}$res=asort($arr);var_dump($arr);#array(10) { [0]…
(1) NSArray打印汉字 通过重载NSArray的- (NSString *)descriptionWithLocale:(id)locale方法 方法体例如以下: //依据设置的locale 进行连接数组 - (NSString *)descriptionWithLocale:(id)locale { NSMutableString *str = [NSMutableString stringWithFormat:@"%lu (\n", (unsigned long)self.…
这两天公司让做一个Jtable表格的排序,首先按A列排序,在A列相等时按B列排序,B列相等时按C列排序,ABC三列可以任意指定,最多分三列,这样的一个需求.由于我是大神,所以必须做了出来.ok,不自恋了,先上效果图,然后上代码,最后上项目.这也将是我以后的一贯风格,懂得分享才能走的更高!   简单描述一下,瞅准某列,第一次点击升序,第二次点击降序,第三次点击取消排序.图为先按密码升序,然后按用户名升序,最后按年龄降序.   一. 准备工作,及整体思路   我的环境,jdk1.6,jdk1.7,j…
在讲OC中数组的排序之前我先上一段代码,它是简单数组排序的一种方法(也就是元素是字符串或者数据的数组,因为后面要讲元素为类的数组排序) 代码1: NSArray *sortArr4 = [sortArr3 sortedArrayUsingComparator:^NSComparisonResult/*代码块返回值类型*/(id obj1, id obj2) { return [obj1 compare:obj2];//根据比较结果,如果结果是1,则交换 }]; NSLog(@"%@",…
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了). 直接在查询语句后面 添加 order by name asc; 查询结果按照姓氏的升序排序: 如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码:对于的代码是  or…
1.数字 int main(int argc, const char * argv[]) { @autoreleasepool { //添加空白 [NSNull null] // NSArray *arr=[NSArray arrayWithObjects:@1,@2,[NSNull null],@3,nil]; // for (id a in arr) { // NSLog(@"%@",a); // // } //添加数字 // NSNumber *arr=[NSNumber num…
对于包含汉字的字符串来说,排序的方式主要有两种:一种是拼音,一种是笔画. 本文就讲述如何实现按拼音排序的比较器(Comparator). 作者:Jeff 发表于:2007年12月21日 11:27 最后更新于: 2007年12月21日 12:38 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明.http://www.blogjava.net/jeff-lau/archive/2007/12/21/169257.html 排序概述 在Java中,对一个数组或…
一.使用selector对数组进行排序(无返回) 数组 book 中包含 AddressCard对象. 1.对数组调用 sortUsingSelector方法 -(void) sortByName { SEL s = @selector(compareName:); [book sortUsingSelector: s]; } 2.在AddressCard类中添加比较方法:compareName -(NSComparisonResult) compareName: (AddressCard *)…
业务场景: 一个list集合,里面add了若干个实体类,针对该实体类排序的属性为String. 使用技术,自定义list排序(JDK自带),重写Comparator接口的compare方法,汉字转拼音技术:使用的pinyin4j. pinyin4j官网地址:http://pinyin4j.sourceforge.net/ 不想去官网下载的我这里也有,地址为: //tempRateList 为需要进行自定义排序的集合,SpRate为该集合的实体类,riskName为排序的属性. 直接上方案: 1.…
oracle在9i之前是对汉字的排序是按照二进制编码进行排序的,很不适合我们的国情,在oracle9i之后,汉字的排序方式有了以下三种方式:        1.使用拼音排序   NLS_SORT=SCHINESE_PINYIN_M        2.使用笔画排序   NLS_SORT=SCHINESE_STROKE_M 第一顺序笔画,第二顺序部首:        3.使用偏旁部首排序    NLS_SORT=SCHINESE_RADICAL_M 第一顺序部首,第二顺序笔画:           …
要排序的对象: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.s…
public class ABC { public static void main(String[] args) { new ABC().sortStringArray(); } public void sortStringArray(){ String[] a = new String[]{"Oscar", "Charlie", "Ryan", "Adam", "David","aff&quo…
转载:http://blog.csdn.net/lgx040605112/article/details/6042316 using System; using System.Globalization; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] arr = { "3","1",&…
可以按照区域语言修改排序规则. class Program { static void Main(string[] args) { string[] arr = { "趙(ZHAO)", "錢(QIAN)", "孫(SUN)", "李(LI)", "周(ZHOU)", "吳(WU)", "鄭(ZHENG)", "王(WANG)"}; //发音 LC…
Python3写法 代码 # -*- coding: utf-8 -*- # 需求:年龄倒序,姓名正序 from itertools import chain from pypinyin import pinyin, Style class Student: def __init__(self, name, age): self.name = name self.age = age def to_pinyin(stu): lst = pinyin(stu.name, style=Style.TO…
import java.text.Collator;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Locale;import java.util.Map;import org.apache.commons.collections.MapUtils;p…
最近项目上使用到汉字排序的问题,网上搜索了一下后普遍使用下面的方法比较. @Test public void test_sort_pinyin() { Collator cmp = Collator.getInstance(java.util.Locale.CHINA); String[] arr = { "张三", "李四", "王五", "赵六", "JAVA", "123", &q…
1,.定义数组,可以是从后台传回的数据,也可以是自己写的数据(要json格式) 2.定义一个计算属性,用于将汉字排序(多音字的排序不推荐用这个) 3.在页面渲染…
之前写过一篇 Oracle中对数字加汉字的排序以及REGEXP_SUBSTR介绍 后来在开发的过程中又遇到相似问题.数据不一样了,按之前的使用方法是不适用的. 之前的是数字在前汉字在后,最基本的差别是数字没有反复的,而如今的数据中数字是有反复的 比方: 玫瑰园1楼 玫瑰园2楼 兴帝家园1楼 兴帝家园2楼 假设是仅仅抽取数字进行排序 会造成两个1楼在前 两个2楼在后 而想要的结果是先按同样的名字排序 再按楼号排序 第一步:截取汉字 仅仅截取正則表達式中汉字首次出现的位置(下同) REGEXP_SU…
当调用String.compare方法的时候,比较的是Unicode码,并不能对汉字进行准确的排序,所以汉字比较时会出现比较混乱的结果. java.text.Collator类中有一个getInstance(Locale desiredLocale) 方法可以解决对汉字排序的问题. 例如: Collator collator = Collator.getInstance(Locale.CHINA); String str1 = "张三"; String str2 = "李四&…
需求:有一列NAME, varchar2类型,内容如下 以上就是已经按order by name进行排序的,但不是我们想要的结果 现在需要只按数字进行排序 第一步:抽取数字由于数字有是一位的有是两位的 所以不好用substr进行截取 我们可以使用REGEXP_SUBSTR函数,使用正则表达式从字符串中抽取子串. REGEXP_SUBSTR(name, '[0-9]+') 第二步.将varchar类型的数字转换为int类型的数字 cast(yourcol as int) 可参考:sql中,把var…
* 在IOS开发过程中,排序是我们经常遇到的问题,那么如何进行排序呢? * 在英文状态下,系统中有直接可以调用的方法.    例如:对数组[sss, aaa, bbb, ppp]进行排序,我们可以直接使用系统方法. NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"sss",@"aaa",@"bbb",@"ppp",nil]; array = (…
在Objective-C中,排序分为: 1.Foundation框架中的对象排序 2.自定义对象排序 例子:每个学生都有一个成绩score属性,根据成绩score对学生排序 自定义对象 Student.h Student.m main.m #import <Foundation/Foundation.h> #import "Student.h" int main(int argc, const char * argv[]) { @autoreleasepool { //1.…
JavaScript提供了一种更简便的方法用于比较两个字符串——localeCompare(),localeCompare()使用本地特定的顺序来比较两个字符串,语法如下:string.localeCompare(target)参数target是要与string进行比较的字符串.如果string小于target,则localeCompare()返回小于0的数:如果string大于target,返回大于0的数:如果相等(或按照本地顺序的约定两者顺序相当),则返回0.利用该方法替换上面冗长的作法后,…
下面的例子以     NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"tom",@"jonery",@"stany", nil];1.获取数组中总共有多少个对象.- (NSUInteger)count;    NSLog(@"%d",[array count]);   22.获取数组中下标对应的元素对象.(下标是…