怎么在oc字符数组中插入一个字符

怎么在oc字符数组中插入一个字符,第1张

- (NSInteger)countOfStringWithArray:(NSArray *)array {

        //初始化另一个数组,存储遍历后属于字符串的对象

     NSMutableArray * arr = [NSMutableArray array]

        //遍历数组

for (id str in array) {

               //判断是不是字符串对象

if ([str isKindOfClass:[NSString class]]) {

                //将是字符串的对象添加到刚才初始化化的数组中

[arr addObject:str]

        }

    }

            //返回存储字符串的数组的个数

            return arr.count

}

 由于Xcode对中文支持良好,所以在开发过程中经常直接使用中文字符串。

不过苹果推荐多语言化,需要为中文字符串添加个NSLocalizedString宏。

#!/usr/bin/python

# -*- coding: utf-8 -*-

'''''

Localization The Objective-C Code

@"..." --> NSLocalizedString(@"...", nil)

Jason Lee2012-03-01

'''

import os, sys

import re

import codecs

targetPattern = pile('@"[^"]+"')

global newFile, newFilePointer

def isChineseCharacter(ch):

return0x4e00 <= ord(ch) <= 0x9fa5

def hasChineseCharacter(str):

for char in str:

if isChineseCharacter(char):

returnTrue

returnFalse

def buildNewString(oldStr):

newStrPrefix = 'NSLocalizedString('

newStrSuffix = ', nil)'

newStr = newStrPrefix + oldStr + newStrSuffix

return newStr

def processLine(line):

global newFile, newFilePointer

matchResult = targetPattern.findall(line)

for result in matchResult:

if hasChineseCharacter(result):

#print result, buildNewString(result)

p = pile(result)

line = p.sub(buildNewString(result), line)

newFilePointer.write(line)

def processFile(filename):

#Xcode file is saved with utf-8

global newFile, newFilePointer

newFile = 'Replaced.' + filename

newFilePointer = codecs.open(newFile, 'wb', 'utf-8')

fp = codecs.open(filename, 'rb', 'utf-8')

for line in fp:

processLine(line)

fp.close()

newFilePointer.close()

oldFile = 'Old.' + filename

os.system('mv ' + filename + ' ' + oldFile)

os.system('mv ' + newFile + ' ' + filename)

#os.system('rm -f ' + oldFile)

if __name__ == "__main__":

if len(sys.argv) >1:

output = os.popen('ls ' + sys.argv[1]).read()

filelist = re.split('\n', output)

filelist = filelist[:-1]

#print filelist

print'Localizing...'

for file in filelist:

if os.path.exists(file):

try:

#print 'Processing File :', file

processFile(file)

except Exception as e:

print e

print'Localization Done.'

之后需要做的事情参考:

代码没用经过严格验证,请慎用。起码,没有检查该字符串是否已经加了NSLocalizedString宏。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11755413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存