我正在为少数人制作生日跟踪器,并且想知道如何将所有 if 语句合并为一个,因为日期和名称是每个 if 语句中唯一不同的内容,其余格式相同。
date=`date +%b-%d`
echo $date
if [ $date == "Sep-09" ]; then
echo "Happy Birthday abc!"
fi
if [ $date == "Oct-11" ]; then
echo "Happy Birthday xyz!"
fi
.
.
.
Run Code Online (Sandbox Code Playgroud)
我想我可以使用位置参数($1 表示日期,$2 表示名称..),但不知道如何将它用于多个日期和名称。或者如果有更好的方法,也很高兴知道。
问候.
这么简单的问题让我难过.这里的人非常乐于助人.
我正在尝试匹配包含一些固定文本和随机数字的字符串.
echo blah blah abc123 | grep -o abc
abc
echo blah blah abc123 | grep -o abc[0-9]
abc1
echo blah blah abc123 | grep -o abc[0-9]+
echo blah blah abc123 | grep -o "abc[0-9]+"
echo blah blah abc123 | grep -o "abc[0-9]*"
abc123
echo blah blah abc123 | grep -o abc[0-9]{3}
echo blah blah abc123 | grep -o "abc[0-9]{3}"
Run Code Online (Sandbox Code Playgroud)
*运算符(匹配零次或多次)是唯一一个按照我的预期工作的运算符.
为什么+运算符(匹配1次或更多次)不匹配?
为什么特定重复计数运算符{3}不匹配?
我在Ubuntu 10.10下的bash shell中运行这些示例,如果它有所不同的话.
非常感谢.
我试图从类似于的字符串中捕获子字符串
'some string, another string, '
Run Code Online (Sandbox Code Playgroud)
我想要结果匹配组
('some string', 'another string')
Run Code Online (Sandbox Code Playgroud)
我目前的解决方案
>>> from re import match
>>> match(2 * '(.*?), ', 'some string, another string, ').groups()
('some string', 'another string')
Run Code Online (Sandbox Code Playgroud)
虽然工作,但不切实际 - 我在这里展示的当然是复杂程度与我在实际项目中所做的相比大大减少了; 我想只使用一个'直的'(非计算)正则表达式模式.不幸的是,到目前为止我的尝试失败了:
这不匹配(结果为None),因为{2}仅应用于空间,而不是整个字符串:
>>> match('.*?, {2}', 'some string, another string, ')
Run Code Online (Sandbox Code Playgroud)
在重复的字符串周围添加括号在结果中有逗号和空格
>>> match('(.*?, ){2}', 'some string, another string, ').groups()
('another string, ',)
Run Code Online (Sandbox Code Playgroud)
添加另一组parantheses确实解决了这个问题,但是让我太过分了:
>>> match('((.*?), ){2}', 'some string, another string, ').groups()
('another string, ', 'another string')
Run Code Online (Sandbox Code Playgroud)
添加非捕获修饰符可以改善结果,但仍会错过第一个字符串
>>> match('(?:(.*?), ){2}', 'some string, another string, ').groups()
('another …Run Code Online (Sandbox Code Playgroud) 我正在逐行阅读一个文本文件。看起来像这样:
3
3
67
46
67
3
46
程序每次遇到新的数字,都会将其写入文本文件。我正在考虑的方式是将第一个数字写入文件,然后查看第二个数字并检查输出文件中是否已存在该数字。如果不是,它将在文件中写入该号码。如果是,它将跳过该行以避免重复,然后继续下一行。我该怎么做呢?
我试图确定一个字符串是否包含一个给定的不同字符,至少重复一次.例如"bbbbb"应匹配,但"ccMMcc"不应该匹配,因为它分别包含两个不同的字母c和m.假设正则表达式是最简单的方法,羞耻我吮吸它们,我需要什么来匹配我的字符串?
似乎我遇到了repeatmodeone的问题:它不重复视频.
这是我在实现中的视频代码:
- (void)viewDidLoad{
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Space Particle" ofType:@"mp4"]];
MPMoviePlayerViewController *playerController = [[MPMoviePlayerViewController alloc]initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:playerController];
[playerController.moviePlayer prepareToPlay];
playerController.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
playerController.moviePlayer.controlStyle = MPMovieControlStyleNone;
playerController.moviePlayer.scalingMode = MPMovieScalingModeAspectFill;
playerController.moviePlayer.repeatMode = MPMovieRepeatModeOne;
[MyView1 addSubview: playerController.view];
[playerController.moviePlayer play];
[playerController release];playerController=nil;
}
Run Code Online (Sandbox Code Playgroud)
它作为动画背景,上面有按钮.视频播放但是当它完成时,它不会重复播放.
我发现,作为一个IbAction,它重复,但作为viewDidLoad它没有.
请注意,"MyView"插座已链接到自定义UIButton,它位于电影播放的按钮视图中.
我正在使用的视频尺寸不大.
我的目标是电影必须重复使用viewdidload方法才能自动播放和重复.
拜托,我有什么问题吗?关于如何解决的建议?任何帮助,将不胜感激.
在Cocos2D 2.x中,我正在使用runAction在我的游戏中做一些动画.它工作得很好,但我希望动画重复一定次数.
所以我的伪代码就是这样:
CCSequence... action1, action2
[sprite runAction:theSequence];
Run Code Online (Sandbox Code Playgroud)
所以我只想重复一下这个动作(比方说3次),我该怎么做?我没有看到任何API来做这个,但也许我只是没有看到的东西.如果有人知道如何做到这一点,并可以分享这将是伟大的信息!
谢谢!
我无法想出减少列表中重复次数的最有效方法.
a = ['x','x','x','y','y','y','z','z','z','x','x','x','z','z','z','z','z','z']
Run Code Online (Sandbox Code Playgroud)
期望的输出(如果我减少3组)将是:
a_reduced = ['x','y','z','x','z','z']
Run Code Online (Sandbox Code Playgroud)
我想要循环遍历每个元素并做一个'[i]和[i + 1]和[i + 2]条件'的事情,但我确信有一种超级简单有效的方法来实现这一目标,而且我是只是缺少一些东西 请帮助,谢谢!
我正在编写一个程序,该程序计算通过其概率加权的最长条纹,并使用递归来获取所有可能的情况。这是我正在做的编码挑战:https : //open.kattis.com/problems/winningstreak
我注意到,由于递归,对于较大的输入,我拥有的置换函数并不是最有效的。输入示例为3,它将为matchs数组添加以下内容:000、010、001、011、100,110,101,111
public static void Permutations(string text, int numberOfGames, List<String> matches)
{
if (numberOfGames > 0)
for (int j = 0; j < 2; j++)
Permutations(text + j.ToString(), numberOfGames - 1, matches);
else
{
matches.Add(text.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题在于较大的输入(示例500),因为这会导致程序崩溃并引发错误:垃圾收集器无法为主要堆段分配16384字节的内存。还有其他方法可以改善此递归,以便在较大的输入上更好地运行吗?
感谢大伙们!
如何重复另一个列表内容中的列表元素,直到满足第二个列表的长度?例如:
LA = [0,1,2]
LB = [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0)]
the end result should be:
LC = [(0,0,0),(1,0,1),(2,0,2),(3,0,0),(4,0,1),(5,0,2),(6,0,0)]
Run Code Online (Sandbox Code Playgroud)
希望它可以在一行中完成
repeat ×10
python ×4
regex ×3
animation ×1
bash ×1
c# ×1
ccaction ×1
code-cleanup ×1
if-statement ×1
iphone ×1
javascript ×1
list ×1
loops ×1
permutation ×1
python-2.7 ×1
recursion ×1
search ×1
shell ×1
space ×1
viewdidload ×1
xcode ×1