我有一個帶有字符串的數組。檢查數組中每個字符串的第一個字符是否來自拉丁字母的最佳方法是什麼?如何找出字符串中的第一個字符是否是拉丁字母的字母
3
A
回答
7
基本上你可以使用的字符集,像這樣:
NSString* string = @"This is a string";
NSCharacterSet *letters = [NSCharacterSet letterCharacterSet];
if([letters characterIsMember:[string characterAtIndex:0]]) {
// This is a letter
}
的例子是不言而喻的:-)
2
這取決於如果你要處理的Objective-C對象或C(我假定目標C,但可讓兩者都做)
Objective-C的 - 該數組是NSArray
NSStrings
的:
- 取第一項:
NSString *firstString = [array objectAtIndex:0];
- 取得一個字母的範圍:`NSRange lettersRange = [firstString rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet];
- 檢查範圍起始於字符串的開始:
BOOL isFirstCharALetter = lettersRange.location = 0;
c - 接收陣列的char *
(即char *[]
)的陣列:
- 讀取第一項:
char *firstString = strings[0];
- 獲取字符串的第一個字符:
char firstChar = firstString[0];
- 檢查的第一個字符是ASCII字符的字母範圍:
BOOL isFirstCharALetter = (firstChar >= 'A' && firstChar <='Z') || (firstChar >= 'a' && firstChar <='z');
+0
這是假設什麼字符集?上次我用ASCII''Z'<'a''檢查,以便最後一個條件永遠是錯誤的。此外,「A-Z」和「a-z」之間還有一系列字符。 – mvds
+0
@mvds opps。我衝了那一點。現在修復。 –
1
簡單oneliner:
if ([string length] && iswalpha([string characterAtIndex:0]))
{
// stuff
}
0
//Defines only alphabet that we will compare with
NSCharacterSet *alphaBetFromAToZ = [NSCharacterSet letterCharacterSet];
NSCharacterSet *numberFrom0To9 = [NSCharacterSet decimalDigitCharacterSet];
//My string
NSString *myStringToCheck = @"String";
//Check if string is not empty and if so, make it a not empty string otherwise the app could throw up an exception
myStringToCheck = ([myStringToCheck length] == 0) ? @" ":myStringToCheck;
//Check if first string is from the alphabet
if ([alphaBetFromAToZ characterIsMember:[myStringToCheck characterAtIndex:0]])
{
//First character is from the alphabet
}
else if ([numberFrom0To9 characterIsMember:[myStringToCheck characterAtIndex:0]])
{
//First character is a number
}
else
{
//First character is NOT from the alphabet and also is not a number, is something like @ [ ] $ %^......
}
相關問題
- 1. 函數檢查字符串的第一個字符是否是一個字母
- 2. 如何檢查字符串中的第一個字母是否是數字
- 3. 檢查字符串是拉丁字母還是西里爾文
- 4. 如何查找字符串中的第一個字母(按字母順序)?
- 5. 第一個字母是字符串中的數字
- 6. 檢查字符串的第一個字母是否大寫
- 7. 如何找出字符串的第一個字符是否是數字?
- 8. 如何檢查字符串中的第一個字符是字母?
- 9. 如何檢查一個字符是否是某個字母的字母?
- 10. 如何檢查一個字符串是否是純字母?
- 11. 獲取字符串中子字符串的第一個字母
- 12. 大寫字母的字符串的第一個字母只
- 13. 檢查字符是拉丁字母的一部分嗎?
- 14. 對字符串進行排序,第一個字母第一個,然後是字母內部的字母
- 15. Python:如何找到字符串的第一個字母?
- 16. 如何檢查第一個字符是否爲字母
- 17. 如何確定一個字符串是否包含非字母數字字符?
- 18. 如何檢測字符串中的最後一個字符是不是字母?
- 19. 如何檢查字符串是否包含字母表中的任何字母?
- 20. 如何檢查字符串中的第一個字母是否等於某個字母?
- 21. 如何檢查一個字符串是否在第一個字母和最後一個字母php
- 22. 查找字符串中每個單詞的第一個字母
- 23. 如何修整字符串直到字母數字字符串中的第一個字母表?
- 24. 如何從字符串中獲得第一組字母字符?
- 25. 如何檢查字符串中的字符是否是字母? Python
- 26. 如何檢查字符串中的所有字符是否都是字母?
- 27. 用PHP中的第n個字母字符替換字符串字母
- 28. MATLAB - 只有字符串的第一個字母是打印
- 29. 如何計算字符串數組中字符串的第一個字母C#
- 30. 檢查一個字符串是否包含數字和字母
它會崩潰,如果'string'是空的。 – mvds