相关疑难解决方法(0)

正则表达式验证中的十进制或数值

我试图使用正则表达式验证来检查只有十进制值或数值.但是用户输入数值,它不是第一个数字"0"

我怎么做?

regex validation

53
推荐指数
4
解决办法
24万
查看次数

转换小数点

我有一个包含数据读取的CSV文件,我想读入Python.我得到包含字符串的列表"2,5".现在做的float("2,5")不起作用,因为它有错误的小数点.

我如何将其作为Python阅读2.5

python locale decimal-point

28
推荐指数
4
解决办法
6万
查看次数

在Python中删除尾随零

我需要找到一种方法来转换python中的以下字符串:

0.000       => 0
0           => 0
123.45000   => 123.45
0000        => 0
123.4506780 => 123.450678
Run Code Online (Sandbox Code Playgroud)

等等.我尝试了.rstrip('0').rstrip('.'),但如果输入为0或00则不起作用.

有任何想法吗?谢谢!

python string zero

24
推荐指数
3
解决办法
3万
查看次数

在正则表达式中,匹配一个或另一个,或两者

在正则表达式中,我需要知道如何匹配一个或另一个,或两者(按顺序).但至少有一件事需要存在.

例如,以下正则表达式

/^([0-9]+|\.[0-9]+)$/
Run Code Online (Sandbox Code Playgroud)

会匹配

234
Run Code Online (Sandbox Code Playgroud)

.56
Run Code Online (Sandbox Code Playgroud)

但不是

234.56
Run Code Online (Sandbox Code Playgroud)

而以下正则表达式

/^([0-9]+)?(\.[0-9]+)?$/
Run Code Online (Sandbox Code Playgroud)

将匹配上面的所有三个字符串,但它也将匹配我们不想要的空字符串.

我需要一些能匹配上面所有三个字符串的东西,但不是空字符串.有一个简单的方法吗?

更新:

安德鲁和贾斯汀的下面都是我提供的简化示例,但他们没有(除非我错了)为我希望解决的实际用例工作,所以我现在应该把它放进去.这是我正在使用的实际正则表达式:

/^\s*-?0*(?:[0-9]+|[0-9]{1,3}(?:,[0-9]{3})+)(?:\.[0-9]*)?(\s*|[A-Za-z_]*)*$/
Run Code Online (Sandbox Code Playgroud)

这将匹配

45
45.988
45,689
34,569,098,233
567,900.90
-9
-34 banana fries
0.56 points
Run Code Online (Sandbox Code Playgroud)

但它不会匹配

.56
Run Code Online (Sandbox Code Playgroud)

我需要它来做到这一点.

javascript regex

23
推荐指数
3
解决办法
3万
查看次数

elasticsearch:从字段中提取数字

我正在使用elasticsearch和kibana来存储我的日志.现在我想要的是从一个字段中提取一个数字并存储一个新的字段.

例如,有这样的:

accountExist执行时间:1046 ms

我想提取数字(1046)并在kibana的新字段中看到它.

可能吗?怎么样?谢谢您的帮助

elasticsearch kibana

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

正则表达式匹配数字和小数

我需要一个与以下内容匹配的正则表达式:

.5
0.5
1.5
1234
Run Code Online (Sandbox Code Playgroud)

但不是

0.5.5
absnd (any letter character or space)
Run Code Online (Sandbox Code Playgroud)

我有这个满足所有但是 0.5.5

^[.?\d]+$
Run Code Online (Sandbox Code Playgroud)

regex

8
推荐指数
3
解决办法
2万
查看次数

直接从R读取.dat和.dct

我需要使用.dct文件读取.dat文件.有人用R做过吗?

格式为:

dictionary {
  # how many lines per record
  _lines(1)
  # start defining the first line
  _line(1)

  # starting column / storage type / variable name / read format / variable label
  _column(1)    str8    aid    %8s    "respondent identifier"
  ...
}
Run Code Online (Sandbox Code Playgroud)

'阅读格式'如下:

%2f        2 column integer variable
%12s      12 column string variable
%8.2f      8 column number with 2 implied decimal places. 
Run Code Online (Sandbox Code Playgroud)

存储类型如下所述:http://www.stata.com/help.cgi?datatypes

用于信息的其他网站:

http://library.columbia.edu/indiv/dssc/technology/stata_write.html

http://www.stata.com/support/faqs/data-management/reading-fixed-format-data/

.dat文件是一组与.dct文件中指定的变量对应的数字.(据推测这是固定宽度列中的数据).

这是一个真实的例子:

.dtc文件 http://goo.gl/qHZOk

数据 http://goo.gl/FRGRF

stata站点的一个具体示例是:

.dat文件(本例中为"test.raw")

C1245A101George Costanza …
Run Code Online (Sandbox Code Playgroud)

r stata read.table

6
推荐指数
2
解决办法
2183
查看次数

在正则表达式(python)中使用其值为整数的变量

假设我在Python中具有以下正则表达式,并且我想使用变量而不是[1-12]。例如,我的变量是currentMonth = 9

如何将currentMonth插入正则表达式?

r"(?P<speaker>[A-Za-z\s.]+): (?P<month>[1-12])"
Run Code Online (Sandbox Code Playgroud)

python regex

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

python round留下尾随0

我试图将python中的浮点数舍入为零小数位.

但是,圆形方法每次都会留下0.

value = 10.01
rounded_value = round(value)
print rounded_value
Run Code Online (Sandbox Code Playgroud)

结果在10.0但我想要10

怎么能实现这一目标?转换为int?

python

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

验证输入字符串是有效的十进制数

任何人都可以提供一种算法来检查输入字符串是否是正确形状和形式的十进制数字?

正确形状和形式的规则:

  1. 最多两位小数.
  2. 出于所有实际目的,最大数量是99,999,999.99
  3. 整数部分可以使用空格,逗号或点作为组分隔符.
  4. 小数部分可以使用逗号或点作为分隔符.

正确的形状和形式的例子:

1,234,567.89   // English style
1.234.567,89   // French style
1 234 567,89   // German style
1234567.89     // English mathematical style
1234567,89     // European mathematical style
12.00
12.0
12

请抵制你提出Decimal.Parse或Decimal.TryParse的诱惑.两种方法都快乐地接受诸如"1,2,3,4"之类的字符串,这不是我想要的.

c#

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