Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSString大写字符串,罗马数字除外_Ios_Objective C_Nsstring_Nsregularexpression - Fatal编程技术网

Ios NSString大写字符串,罗马数字除外

Ios NSString大写字符串,罗马数字除外,ios,objective-c,nsstring,nsregularexpression,Ios,Objective C,Nsstring,Nsregularexpression,我正在开发一个应用程序,其中用户名打印在UILabel中。我正在对提供给UILabel的字符串调用NSString的capitalizedString方法(以便将用户的名字、中间名和姓氏大写)。以下是一些代码供参考: cell.textLabel.text = [theUsersName capitalizedString]; 我的问题是我遇到了一个名字中有罗马数字的用户。罗马数字是这样大写的:“Iii” 我的问题是,如何在保持大写字符串功能的同时,检测罗马数字并将其放入所有大写字母(III)

我正在开发一个应用程序,其中用户名打印在UILabel中。我正在对提供给UILabel的字符串调用NSString的
capitalizedString
方法(以便将用户的名字、中间名和姓氏大写)。以下是一些代码供参考:

cell.textLabel.text = [theUsersName capitalizedString];
我的问题是我遇到了一个名字中有罗马数字的用户。罗马数字是这样大写的:“Iii”

我的问题是,如何在保持
大写字符串
功能的同时,检测罗马数字并将其放入所有大写字母(III)中。正则表达式是我唯一的选择吗

编辑


我决定用正则表达式来解决这个问题。然而,我在实现上遇到了困难。我不太熟悉使用NSRegularExpression,所以有人可以帮助解决此问题的算法,并指出一些有用的方法吗?

在一般情况下,您可能无法-
Vi
是一个名称,
Vi
是一个数字,对吗<代码>Li。您的程序是否处理内部大写的名称?我妻子的名字是这样的,她讨厌像你这样破坏她正确输入的大写字母的程序。正则表达式?正则表达式怎么了?()@CarlNorum-是的,你说得对。“我没有想到这点。”达斯宾莱特-我很懒。哈,但如果必要的话,我会追求正则表达式。谢谢你的链接@hw731 SO的搜索对象是懒惰(我是说,聪明)的人,他们不想为了重复别人的成功而重复别人的成功。答案有一个完全有效的正则表达式。在区分大小写的模式下应用它,找到不能触摸的地方,将字符串大写,并将数字部分从原始部分复制回来。这就是一个懒惰的人会做的,对吗?