在像这样的for循环中:
for f in `ls *.avi`; do echo $f; ffmpeg -i $f $f.mp3; done
Run Code Online (Sandbox Code Playgroud)
$ f将是完整的文件名,包括扩展名.例如,对于song1.avi,命令的输出将是song1.avi.mp3.有没有办法只获得song1,而没有来自for循环的.avi?
我想有办法使用awk或其他类似的工具,但我希望有更直接的东西.
谢谢
如果你有一个类成员,它是static和public.你会写static public还是public static?我知道他们是一样的.但是有没有一些建议/最佳实践来写这个?
假设你有一个如下日期字符串:
11/15/2010, 12/1/10, 12/2/10, 12/3/10, 12/4/10, 12/9/10
Run Code Online (Sandbox Code Playgroud)
你会如何缩短这个字符串,如下(或类似的东西)
11/15/2010, 12/1-4, 9/10
Run Code Online (Sandbox Code Playgroud)
因为想象连续30天最好看12/1-31/10比列出所有日期.
只是为了让它更紧凑一点?
谢谢,棒.
我已经在很大程度上简化了问题,这里是示例代码:
string outputString = string.Empty;
string joinOutputString = string.Empty;
string pathOutputString = string.Empty;
string[] myStrings = new string[4];
myStrings[0] = "First entry";
myStrings[1] = "???";
myStrings[2] = "???";
myStrings[3] = "Last entry";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < myStrings.Length; i++)
{
joinOutputString = string.Join(@"\", joinOutputString, myStrings[i]);
outputString = string.Format(@"{0}{1}\", outputString, myStrings[i]);
pathOutputString = System.IO.Path.Combine(pathOutputString, myStrings[i]);
sb.Append(string.Format(@"{0}\", myStrings[i]));
}
Run Code Online (Sandbox Code Playgroud)
循环结束时所有字符串和StringBuilder的最终值为:
第一次进入\اول\دوم\最后一个条目\
代替
第一次进入\دوم\اول\最后一个条目\
中间的右到左部分被翻转为一个单元.
感谢您提前的时间.
在下面的代码中,我得到一个XmlNodeList返回值XmlDocument.SelectNodes()
foreach (XmlNode node in doc.SelectNodes(xPath))
{
// Do stuff
}
Run Code Online (Sandbox Code Playgroud)
事实证明,XmlNodeList实现IDisposable.这是否意味着每次我想迭代I的返回值时XmlDocument.SelectNodes()应该将它放在局部变量中并确保它被处理掉(即把它放在一个using块中)?
像这样:
using(XmlNodeList nodes = doc.SelectNodes(xPath))
{
foreach (XmlNode node in nodes)
{
// Do stuff
}
}
Run Code Online (Sandbox Code Playgroud) 我想在字符串中查找文本(使用C#),以单词"Column"开头并结束任何数字(例如"100").
总之,我想找到:
Column1
Column100
Column1000
但是没有找到:
Column_1
_Column1
Column1 $
我找不到使用正则表达式的方法.