我试图在swift中进行IFSCCode验证,但我面临的问题是我无法获取字符串中的前四个字母.
IFSC代码示例:
ABCD0200000
这就是IFSC代码的外观:
我已经在Objective C中为ifs代码验证编写了代码,但我对Swift并不熟悉,所以在Swift中复制相同的问题.
以下是我在Objective C中编写的代码:
- (BOOL)validateIFSCCode:(NSString*)ifsccode {
if (ifsccode.length < 4) {
return FALSE;
}
for (int i = 0; i < 4; i++) {
if (![[NSCharacterSet letterCharacterSet]
characterIsMember:[ifsccode characterAtIndex:i]]) {
return FALSE;
}
}
if (ifsccode.length < 10) {
return FALSE;
}
if ([ifsccode characterAtIndex:4] != '0') {
return FALSE;
} else {
return TRUE;
}
}
Run Code Online (Sandbox Code Playgroud)
在Swift 3中
func validateIfscCode(_ ifscCode : String) -> Bool{
if(ifscCode.characters.count < 4){
return false;
}
for( _ in 0 ..< 4){
let charEntered = (ifscCode as NSString).character(at: i)
}
if(ifscCode.characters.count < 10){
return false;
}
let idx = ifscCode[ifscCode.index(ifscCode.startIndex, offsetBy: 4)]
print("idx:%d",idx)
if (idx == "0"){
}
return true
}
Run Code Online (Sandbox Code Playgroud)
Tim*_*len 144
获取字符串前缀的最简单方法是使用
// Swift 3
String(string.characters.prefix(4))
// Swift 4 and up
string.prefix(4)
// Objective-C
NSString *firstFour = [string substringToIndex:4];
Run Code Online (Sandbox Code Playgroud)
vad*_*ian 30
这是使用正则表达式的简单验证.该模式代表:
^ 必须是字符串的开头[A-Za-z]{4} =四个字符AZ或az0一零.{6} 六个任意字符$ 必须是字符串的结尾更新为Swift 4
func validateIFSC(code : String) -> Bool {
let regex = try! NSRegularExpression(pattern: "^[A-Za-z]{4}0.{6}$")
return regex.numberOfMatches(in: code, range: NSRange(code.startIndex..., in: code)) == 1
}
Run Code Online (Sandbox Code Playgroud)
PS:要回答你的问题,你将获得Swift 3中的前4个字符
let first4 = code.substring(to:code.index(code.startIndex, offsetBy: 4))
Run Code Online (Sandbox Code Playgroud)
简单地说,在Swift 4中
let first4 = String(code.prefix(4))
Run Code Online (Sandbox Code Playgroud)
Jer*_*ong 11
斯威夫特 5
string.prefix(4) // Replace 4 with number of letters you want to get from the string
Run Code Online (Sandbox Code Playgroud)
这适用于Xcode 10.2。
扩展以获取所有子字符串
extension String {
func first(char:Int) -> String {
return String(self.prefix(char))
}
func last(char:Int) -> String
{
return String(self.suffix(char))
}
func excludingFirst(char:Int) -> String {
return String(self.suffix(self.count - char))
}
func excludingLast(char:Int) -> String
{
return String(self.prefix(self.count - char))
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36177 次 |
| 最近记录: |