在Objective-C检查一个子字符串的代码中NSString是:
NSString *string = @"hello Swift";
NSRange textRange =[string rangeOfString:@"Swift"];
if(textRange.location != NSNotFound)
{
NSLog(@"exists");
}
Run Code Online (Sandbox Code Playgroud)
但是我如何在Swift中做到这一点?
我有一个类型的变量std::string.我想检查它是否包含某些内容std::string.我该怎么办?
是否有一个函数在找到字符串时返回true,如果不是则返回false?
鉴于字符串在.NET中是不可变的,我想知道为什么它们被设计为string.Substring()需要O(substring.Length)时间,而不是O(1)?
即,有什么权衡,如果有的话?
我一直在使用Swift 3更新我的一些旧代码和答案但是当我使用子字符串获取Swift字符串和索引时,事情变得令人困惑.
具体来说,我尝试以下方法:
let str = "Hello, playground"
let prefixRange = str.startIndex..<str.startIndex.advancedBy(5)
let prefix = str.substringWithRange(prefixRange)
Run Code Online (Sandbox Code Playgroud)
第二行给我以下错误
'String'类型的值没有成员'substringWithRange'
我看到现在String确实有以下方法:
str.substring(to: String.Index)
str.substring(from: String.Index)
str.substring(with: Range<String.Index>)
Run Code Online (Sandbox Code Playgroud)
起初这些让我很困惑,所以我开始玩索引和范围.这是子串的后续问题和答案.我在下面添加一个答案来说明它们是如何使用的.
假设我有一个字符串'gfgfdAAA1234ZZZuijjk',我想只提取'1234'部分.
我只知道在我感兴趣的部分之前AAA和之后ZZZ的几个字符是什么1234.
使用sed它可以用字符串做这样的事情:
echo "$STRING" | sed -e "s|.*AAA\(.*\)ZZZ.*|\1|"
Run Code Online (Sandbox Code Playgroud)
这将给我1234带来的结果.
如何在Python中做同样的事情?
我有两个字符串,我想检查第一个是否是另一个的子字符串.Python有这样的内置功能吗?
例如,假设x = filename.jpg我想知道filename,哪里filename可以是任何文件名(假设文件名只包含[a-zA-Z0-9-_]以简化.).
我x.substring(0, x.indexOf('.jpg'))在DZone Snippets上看过,但效果会不会x.substring(0, x.length-4)更好?因为,length是一个属性,不进行字符检查,indexOf()而是一个函数,并进行字符检查.
我想得到一个字符串的第一个字母,我注意到它的$str[0]效果很好.我只是不确定这是否是"良好实践",因为该符号通常用于数组.这个功能似乎没有很好的记录,所以我转向你们,告诉我是否可以 - 在所有方面 - 使用这种表示法?
或者我应该坚持好'ol' substr($str, 0, 1)?
另外,我注意到花括号($str{0})也可以.那是怎么回事?
如何使用php从字符串中获取前5个字符
$myStr = "HelloWordl";
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的
$result = "Hello";
Run Code Online (Sandbox Code Playgroud)