小编Bif*_*fen的帖子

在这个声明中使用这个-f有什么用?

我没有-f在本程序中使用此声明.

if [ -f $file ]
Run Code Online (Sandbox Code Playgroud)

if知道为什么我们-f在这里使用?

这是整个计划:

case $ch in
  1)
    echo -e "\n This is File Create Operation"
    echo -e "\n Please Enter File Name:"
    read file

    if [ -f $file ]
    then
      echo -e "\n File already existing!!!"
    else

      touch $file
      echo -e "\n File Created!!!"
      echo -e "\n Created File can be Checked From Following Table"
      ls -t|head -n 15
    fi
  ;;
Run Code Online (Sandbox Code Playgroud)

unix linux shell

1
推荐指数
1
解决办法
72
查看次数

如何从特定文本中提取第一个字符串

我需要从文本中提取字符串,如下例所示

Hi i have no name <z>empty</z>
Run Code Online (Sandbox Code Playgroud)

我想在文本<z> 或字符串之前只提取文本,这是hi i have no name 我尝试过这个函数

procedure Split (const Delimiter: Char; Input: string; const Strings: TStrings);
begin
   Assert(Assigned(Strings)) ;
   Strings.Clear;
   Strings.StrictDelimiter := true;
   Strings.Delimiter := Delimiter;
   Strings.DelimitedText := Input;
end;
Run Code Online (Sandbox Code Playgroud)

但它只能分裂字符 ;,:等.我想用这个特定的字符串开始拆分<z>

delphi delphi-xe7

1
推荐指数
1
解决办法
1611
查看次数

正则表达式+循环+ OR

我有这种正则表达式:

$recipes =~ s/

                ([^\.\/]) ($dimentions) (\s) ($unit)
                |(\(?) ($wholeNumberDecimal) (\s) ($unit)   
                |(\(?) ($wholeNumber)       (\s) ($unit)    
                |(\(?) ($wholeNumberFraction) (\s) ($unit)
                /transformer($1,$2,$3,$4) /eixg;    
Run Code Online (Sandbox Code Playgroud)

我想要它做的是每次它与它称之为方法的4种情况之一匹配.

从我轻描淡写的将有$1,$2,$3,$4.如果我将所有这些变量传递给方法,那么该方法将如何知道哪个变量是新匹配以及哪些变量之前可能已匹配并且只是被记住?

有没有办法只有一个变量$1可以匹配任何这些情况,并只是随时将该变量发送到该方法?

或者我是否有正确的方法?我试图从食谱书中匹配这些不同的案例,并且每次匹配调用一种方法,将其转换为公制系统等价物.

示例:5汤匙 - > 80毫升,或8 x 8 x 2英寸 - > 20 x 20 x 5厘米

根据发布的答案,我已将我的正则表达式更改为:

$recepies =~ s/
                    (?|
                    ([^\.\/]) ($dimentions) 
                    |
                    (\(?) ($wholeNumberDecimal)     #ex: 1.5
                    |
                    (\(?) ($wholeNumber)            #ex: 1
                    |
                    (\(?) ($wholeNumberFraction) 
                    )
                    (\s) ($unit)

                    /transformer($1,$2,$3,$4) /eixg;    #the replacement
Run Code Online (Sandbox Code Playgroud)

它似乎工作!

regex perl

1
推荐指数
1
解决办法
92
查看次数

RegEx拆分字符串'DB415.DBD21.3'

我正在尝试拆分参数(作为字符串接收)以便能够使用这些值来执行某些操作.例如,字符串将是:

DB415.DBX12.3
Run Code Online (Sandbox Code Playgroud)

我会要求将其拆分为:

  1. DB:开头的非数字字符 - 使用RegEx拆分 /(?:^[A-Z]+)/
  2. 415:数字字符 - 使用RegEx拆分 /^(?![A-Z]+)(?:\d+)/
  3. DBX:非数字字符 - 似乎无法做到这一点,尝试过 /^(?!^[A-Z]+)(?!\d+)(?!\.)(?:[A-Z]+)/
  4. 12:数字字符
  5. 3:数字字符

任何有关3,4和5的帮助都会非常有帮助!

编辑:这是为Javascript,理想情况下,我想在数组中获得这5个参数.

javascript regex

1
推荐指数
1
解决办法
39
查看次数

在C++中使用浮点文字初始化整数数组的成员

我有一个32位长整数数组.之后,一些元素将用作32位浮点数.我想提供一个初始化列表来正确初始化这些浮点值.例如,如果前两个元素用作整数,第三个元素用作float,并且我希望初始化第三个元素等于100.0,我不得不这样做:

long a[3]={10,20,0x42c80000};
Run Code Online (Sandbox Code Playgroud)

这很好,但不是很有表现力.

如果我这样做:

long a[3]={10,20,100.0};
Run Code Online (Sandbox Code Playgroud)

编译器将浮点文字转换为0x64.

我没有C++ 11编译器,因此使用union不起作用.

有任何想法吗?

c++ arrays initializer-list

1
推荐指数
1
解决办法
136
查看次数

检查目录是否包含任何文件

 DirectoryInfo d = new DirectoryInfo(path);

 if()   // there is a file in the directory do something.
Run Code Online (Sandbox Code Playgroud)

如果存在文件,我可以获取这些文件,但我还必须考虑该子文件夹路径中没有文件的可能性。

c# string directory file

1
推荐指数
1
解决办法
6897
查看次数

工会不能正常工作

这是我的代码.它适用于C,但它的行为类似于C++中的结构.

#include<iostream>
using namespace std;
int main()
{
    union myunion
    {
        int B;
        double PI;
    };

    union myunion numbers;
    numbers.PI = 3.14;
    numbers.B = 12; 

    /* now storage of PI should be over-written */

    cout<<numbers.PI<<endl;
    cout<<numbers.B<<endl;

    /* Output is  3.14 */
    /*            12   */
    /* Why it is behaving like Structures ? */
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ storage structure unions data-structures

1
推荐指数
1
解决办法
328
查看次数

设置浮点数或数字的长度

我一直在环顾四周尝试将浮点数或小数的长度设置为2个位置,我正在为一组课程工作做这个,我已经尝试getcontext但它没有做任何事情.

from decimal import *
getcontext().prec = 2
price = ("22.5")
#I would like this to be 22.50, but as it comes form a list and I use float a bit, so I have to convert it to decimal (?)
price = Decimal(price)
print (price)
Run Code Online (Sandbox Code Playgroud)

但输出是:

22.5
Run Code Online (Sandbox Code Playgroud)

如果有人知道更好的方法将小数的长度设置为2位小数(使用它的钱)或我出错的地方,这将是有帮助的.

python-3.x

1
推荐指数
1
解决办法
1918
查看次数

从 Git 中提取最新的标签版本

我想提取 Git 存储库的最新版本数。这是我到目前为止所做的:

#--- Checking out latest tag
printf "%bChecking out tag...%b\n" "${YELLOW}" "${GRAY}"
LATEST_TAG=$(git describe --tags)
printf "\nChecking out tag %b${LATEST_TAG}%b\n" "${YELLOW}" "${GRAY}"
git checkout -b V${LATEST_TAG%-*} ${LATEST_TAG}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果git describe --tags返回这样的东西,1.0.0-39-gf8f8306我最终会创建一个分支V1.0.0-39

我想要的是创建一个名为V1.0.0.

bash git-bash

1
推荐指数
1
解决办法
448
查看次数

在JavaScript中替换数组键的最佳方法是什么?

这是我的阵列:

data = [{"src": 'a'},
        {'src': 'b'},
        {'src': 'c'}];
Run Code Online (Sandbox Code Playgroud)

但我想改变这样的关键:

data = [{"letter": 'a'},
        {'letter': 'b'},
        {'letter': 'c'}];
Run Code Online (Sandbox Code Playgroud)

javascript arrays

1
推荐指数
3
解决办法
5221
查看次数