我试图使用正则表达式验证来检查只有十进制值或数值.但是用户输入数值,它不是第一个数字"0"
我怎么做?
我有一个包含数据读取的CSV文件,我想读入Python.我得到包含字符串的列表"2,5".现在做的float("2,5")不起作用,因为它有错误的小数点.
我如何将其作为Python阅读2.5?
我需要找到一种方法来转换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则不起作用.
有任何想法吗?谢谢!
在正则表达式中,我需要知道如何匹配一个或另一个,或两者(按顺序).但至少有一件事需要存在.
例如,以下正则表达式
/^([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)
我需要它来做到这一点.
我正在使用elasticsearch和kibana来存储我的日志.现在我想要的是从一个字段中提取一个数字并存储一个新的字段.
例如,有这样的:
accountExist执行时间:1046 ms
我想提取数字(1046)并在kibana的新字段中看到它.
可能吗?怎么样?谢谢您的帮助
我需要一个与以下内容匹配的正则表达式:
.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) 我需要使用.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
stata站点的一个具体示例是:
该.dat文件(本例中为"test.raw")
C1245A101George Costanza …Run Code Online (Sandbox Code Playgroud) 假设我在Python中具有以下正则表达式,并且我想使用变量而不是[1-12]。例如,我的变量是currentMonth = 9
如何将currentMonth插入正则表达式?
r"(?P<speaker>[A-Za-z\s.]+): (?P<month>[1-12])"
Run Code Online (Sandbox Code Playgroud) 我试图将python中的浮点数舍入为零小数位.
但是,圆形方法每次都会留下0.
value = 10.01
rounded_value = round(value)
print rounded_value
Run Code Online (Sandbox Code Playgroud)
结果在10.0但我想要10
怎么能实现这一目标?转换为int?
任何人都可以提供一种算法来检查输入字符串是否是正确形状和形式的十进制数字?
正确形状和形式的规则:
正确的形状和形式的例子:
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"之类的字符串,这不是我想要的.
python ×4
regex ×4
c# ×1
javascript ×1
kibana ×1
locale ×1
r ×1
read.table ×1
stata ×1
string ×1
validation ×1
zero ×1