PHP删除第一个零
想要删除所有0放置在某个变量的开头. 一些选项: 如果$var = 0002,我们应该先剥离000($var = 2) 如果var = 0203410我们应该先删除0($var = 203410) if var = 20000 - 什么都不做($var = 20000) 什么是解决方案? 解决方案 将其施加到整数 $var = (int)$var; 其他解决方案 也许ltrim? $var = ltrim($var, '0'); 其他解决方案 $var = ltrim($var, '0'); 这仅在字符串上起作用,以0开头的数字将被解释为八十位数字,多个零的数字被忽略.
0 2023-05-30
编程技术问答社区
为什么echo和printf结合起来会显示错误的输出?
有人知道为什么执行此操作: #!/usr/bin/php 我明白了: 1005 1005 1005 1005 1005 1005 ... 解决方案 您正在混合echo和printf. printf返回格式的字符串的长度,因此您的echo呼叫正在打印出'5'. 尝试删除echo,然后再试一次.... 其他解决方案 printf返回您制作的字符串长度,请选择 echo sprintf(...) 或只是 printf(...) 没有回声 其他解决方案 printf 是一个功能,可以将您的给定文本输出到标准输出并返回输出的长度字符串. echo 是一种用于输出数
0 2023-05-29
编程技术问答社区
php,line_tags在文本区域中剥离\ n.如何停止它?
我希望能够接受\n或\r\n并将其转换为 以供页面使用.尽管当用户提交带有新段落的文本区域时,strip_tags函数似乎会立即剥离它们.我可以做任何可以将它们保存在字符串中的事情? 谢谢!!! 解决方案 您可以使用 nl2br 添加BR线路断开元素序列: $html = nl2br($plain); 请注意,仅添加了BR元素: nl2br("foo\nbar") === "foo\n bar" 并预防 strip_tags P和BR标签参数: $clean = strip_tags($html, ' ');
0 2023-05-28
编程技术问答社区
PHP money_format
我正在使用money_format,第一个参数为'%n'包括美元符号,并且我将其设置为en_US,但仍然不包括它.为什么? 解决方案 来自 php.net评论: 如果Money_format似乎不是 正常工作,请确保您是 定义有效的区域.例如, 在debian上," en_us"不是有效的 语言环境 - 您需要'en_us.utf -8'或 'en_us.iso-8559-1'. 这让我感到沮丧了一段时间. Debian有一个有效地区的列表 /usr/share/i18n/支持;找到你的 如果没有正常工作.
0 2023-05-28
编程技术问答社区
如何使用相同的参数多一次?
我知道sprintf(),但是我如何多次使用相同的参数? 如果使用以下代码,我会发现使用几个参数的错误. sprintf("blabla %s 11111 %s", "test"); 我想用两次%s替换%s 解决方案 使用%$编号的占位符符号: sprintf('blabla %1$s 11111 %1$s', "test"); 在这里,%1$s的两种出现都将被"test"替换.在 sprintf()手动页面. 中,还有更多有关此的信息. 其他解决方案 这称为"参数交换",并在示例3中进行了记录: http://php.net/sprintf 使用"%1$s",要使用参数1,您可以在格式字符串中多次使用此信息,如PHP在线文档的示例4所示.
0 2023-05-28
编程技术问答社区
在PHP中,如何向一个零填充的数字字符串添加并保留零填充?
如果我在包含0001的php中有一个变量,并且我在其中添加了1个,则结果为2而不是0002. 如何解决此问题? 解决方案 $foo = sprintf('%04d', $foo + 1); 其他解决方案 它可能会帮助您了解PHP数据类型以及在您对各种类型的变量进行操作时如何受到影响.您说您的" php say 0001中的变量",但是那是什么类型?可能是一个字符串" 0001",因为整数不能具有该值(仅1).因此,当您这样做时: echo ("0001" + 1); ... +操作员说:"嗯,那是一个字符串和整数.我不知道如何添加字符串和int.但是我确实知道如何将字符串转换为int,然后将两个int添加在一起,所以让我这样做,然后将" 0001"转换为1.为什么?因为将字符串转换为整数的PHP规则说,丢弃了字符串中的任何数量的引导零.这意味着字符串" 0001"变为1. 然后+说:"嘿,我知道如何添加1和1.这是2!"该语句的输出为2. 其他解
0 2023-05-28
编程技术问答社区
PHP。如何通过sprintf()为浮点数添加前导零/零填充?
我正在使用 sprintf()获取一些格式化的字符串以一定精度的浮数量.此外,我想添加领先的零以使所有数字甚至长度.为整数这样做的是非常直发: sprintf('%02d', 1); 这将导致01.但是,对于以精确度的浮动而尝试相同的方法是行不通的: sprintf('%02.2f', 1); 产生1.00. 如何将引导零添加到浮点值? 解决方案 简短答案: sprintf('%05.2f', 1);将给出所需的结果01.00 请注意%02如何被%05替换. 解释 这个论坛帖子正确的方向:第一个数字既不表示领先的零的数量,也不表示十进制隔离器左侧的总焊接数量的左侧数量,而是结果字符串中的字符总数! 示例 sprintf('%02.2f', 1);至少产生小数分离器" ."加上至少2个字符的精度.由于那已经是总共3个字符,因此%02在开始时没有效果.要获得所需的" 2个领先零",需要添加3个字符以进行精确和十进制单位,使其sp
0 2023-05-26
编程技术问答社区
php 用一个空格替换多个空格
我正在尝试用一个空间替换多个空间.当我使用ereg_replace时,我会遇到错误的错误. ereg_replace("[ \t\n\r]+", " ", $string); 是否有相同的替代品.我需要用单个空间替换多个" "白色空间和多个nbsp白色空间. 解决方案 使用 preg_replace() 而不是使用\s: $output = preg_replace('!\s+!', ' ', $input); 来自正则表达式基本语法参考: \ d,\ w和\ s 速记字符类匹配 数字,单词字符(字母, 数字和下划线), 空格(空格,标签和行 休息).可以在里面使用, 外部角色类. 其他解决方案 $output = preg_replace('/\s+/', ' ',$input); \s是[ \t\n\r]的速记.多个空间将被单个空间替换. 其他解决方案 preg_replace("/[[:blank:]]+/"," ",$i
0 2023-05-25
编程技术问答社区
为电话号码格式化编辑文本视图
我有一个EditText视图,我希望它将用户的输入格式化到电话号码格式中.例如,当用户在1234567890中类型时,EditText视图应在输入前3个数字后动态显示为"(123)456-7890". 我在我的创作中尝试了以下内容,但似乎没有为我做任何事情... EditText ET = (EditText) findViewById(R.id.add_number); ET.addTextChangedListener(new PhoneNumberFormattingTextWatcher()); 如何以电话号码格式显示用户的输入? 解决方案 我做了一系列事情,我将输入类型修改为电话,然后我使用正则删除所有非数字字符:phonenumber = phonenumber.replaceall(" \ d","",""); 其他解决方案 使用此代码,您可以制作自定义文本观察器并制作您想要的任何格式: ET.addTextChangedListene
0 2023-05-25
编程技术问答社区
为什么我的Perl单线报告" Bare Words找到了操作员的期望"?
我想将块大小转换为MB.我在替换中使用/e选项.当我在替换部分中添加启动MB时,它给了我错误. 例如: 这有效. echo "16777216 SELECT" |perl -lane 's#(\d+)(\s+SELECT)#$1/(1024*1024*2)#e; print' 8 这给了我错误. echo "16777216 SELECT" |perl -lane 's#(\d+)(\s+SELECT)#$1/(1024*1024*2) MB $2#e; print' Bareword found where operator expected at -e line 1, near ") MB" (Missing operator before MB?) syntax error at -e line 1, near ") MB " Execution of -e aborted due to compilation errors. 是否
0 2023-05-25
编程技术问答社区
在Perl中用哈希值进行相当于Python的字符串格式化的字典
我喜欢python可以用字典格式化字符串的方式: print "%(key1)s and %(key2)s" % aDictObj 我想在perl中获得同样的东西.有片段或小图书馆吗? 编辑: 感谢您尝试此答案.至于我,我提出了一小段代码: sub dict_replace { my ($tempStr, $tempHash) = @_; my $key; foreach $key (sort keys %$tempHash) { my $tmpTmp = $tempHash->{$key}; $tempStr =~ s/%\($key\)s/$tmpTmp/g; } return $tempStr; } 它只是有效的.这不像用词典那样完整的特征算法,但我想对此进行改进. 解决方案 来自Python文档: 效果与C语言中的sprintf()相似. 因此,这是一种
0 2023-05-24
编程技术问答社区
DecimalFormat的更快替代方案。format()?
为了提高其性能,我一直在使用20ms的最小采样周期对我的一个应用程序进行分析.根据探索者的说法,主线程在 DecimalFormat.format() 方法. 我将DecimalFormat.format()与0.000000模式一起使用,将"转换" double数字恰好带有六个小数位数的字符串表示.我知道这种方法相对昂贵,而且被称为很多次,但是我对这些结果感到有些惊讶. 这样的抽样探测器的结果在多大程度上准确?我将如何进行验证 - 最好是不诉诸乐器探索器? 我的用例有更快的替代DecimalFormat吗?推出我自己的NumberFormat子类是有意义的吗? 更新: 我创建了一个微基准,以比较以下三种方法的性能: DecimalFormat.format():单个DecimalFormat对象多次重复使用. String.format():多个独立呼叫.内部这种方法归结为 public static String format(Stri
0 2023-05-23
编程技术问答社区
最优的只有base-10的itoa()函数?
在C中的20多年编程中,我使用了一次以外的10个以外的基础,因此当我在另一个环境中发现我值得信赖的MSVC的_itoa()缺失时,我着手写一个只能做基础10的,并放置目标缓冲区参数指向函数返回的存储,左侧,而不是在右侧,就像C标准库中的所有字符串函数一样.我相信此代码也是线程安全. 是否有更快的方法? 我也要询问正确性,但我相信随附的测试代码证明了它有效,即使对于long_min的特定情况,也就是(-1 * long_max)-1,这会导致代码中的故障直到我改变了战术,指出了标志,然后将签名的INT复制到未签名的INT中.然后,我在未签名的INT中完成了该功能的所有核心工作 - 在75%的时间内也很高兴地运行. char * _i32toa(char *const rtn, int32_t i) { if (NULL == rtn) return NULL; // declare local buffer, and write to it bac
0 2023-05-23
编程技术问答社区
我应该使用Java吗;s字符串。format()如果性能很重要?
我们必须一直构建字符串以进行日志输出等.在JDK版本上,我们已经学会了何时使用StringBuffer(许多附录,线程安全)和StringBuilder(许多附录,非线程安全). 关于使用String.format()的建议是什么?这是有效的,还是我们被迫坚持表现很重要的单线串联? 例如.丑陋的老式, String s = "What do you get if you multiply " + varSix + " by " + varNine + "?"; vs.整洁的新样式(string.format,可能较慢), String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine); 注意:我的特定用例是整个代码中的数百个"单线"日志字符串.它们不涉及循环,因此StringBuilder太重了.我对String.format()特别感兴趣.
0 2023-05-23
编程技术问答社区
字符串格式:%vs. .format与F-string字面
有各种字符串格式化方法: python "Hello %s" % name python 2.6+:"Hello {}".format(name)(使用 a>) python 3.6+:f"{name}"(使用F-strings) 哪个更好,在什么情况下? 以下方法具有相同的结果,那么有什么区别? name = "Alice" "Hello %s" % name "Hello {0}".format(name) f"Hello {name}" # Using named arguments: "Hello %(kwarg)s" % {'kwarg': name} "Hello {kwarg}".format(kwarg=name) f"Hello {name}" 字符串格式何时运行,如何避免运行时性能罚款? 如果您要关闭一个仅仅寻找一种格式化字符串的重复问题,请使用将变量的值放在字符串中?. 解决方案 回答您的第一个问题... .form
0 2023-05-23
编程技术问答社区
正确的Javascript Date.parse(...)格式字符串?
构造字符串的文化不变方法是什么,使JavaScript Date()构造函数可以解析并创建适当的日期对象? 我尝试过这些不起作用的格式字符串(使用C#生成字符串): clientDate.ToString(); // gives: "11/05/2009 17:35:23 +00:00" clientDate.ToString("MMM' 'dd', 'yyyy' 'h':'mm':'ss' 'tt"); // works on an English server // but on a French server, gives: "mai 11, 2009 5:35:23" // Javascript won't parse that. clientDate.ToString("MM'-'dd'-'yyyy' 'HH':'mm':'ss") // gives: 05-11-2009 17:35:23 什么是通用格式?? 解决方案 P> 给定一个表示时间
0 2023-05-20
编程技术问答社区
浮动到字符串格式指定符
我有一些要转换为字符串的浮点值,我想在转换时保持格式相同,即999.0000(float) - > 999.0000(string).我的问题是,当值之后的值包含任意数量的零数量时,如上一个示例,它们在转换为字符串时被剥离,因此我实际上最终得到的结果是999. > 我在 msdn 上查看了toString()方法的格式指定器往返('r')说明器看起来会产生我想要的东西,但仅对单个,双重和bigint变量得到支持.是否有这样的格式说明符,用于浮动变量?还是只需将值转换为双打会更容易? 更新:为了清楚起见,我要保持尾随零的原因是因为我正在对十进制位置进行比较,即我正在比较两个值之间小数点位置之后的数字数量.因此,例如,1.00和1.00000在小数点之后具有不同数量的数字.我知道这是一个奇怪的要求,是为了工作,并且要求来自高处. 更新2-3-11: 我太努力地考虑了这一点,我正在阅读TXT文件中的数字,然后将它们作为浮子解析,我将修改程序以检查字符串值是小数还是整数.很
6 2023-05-20
编程技术问答社区
SimpleDateFormat的宽松性导致了意外的行为
我发现 SimpleDateFormat::parse(String source) 的行为是(不幸)默认设置为宽大设置: setLenient(true) . 默认情况下,解析是宽松的:如果输入不在此对象的格式方法中使用的表单,但仍然可以作为日期解析,则分析成功. . 如果我将宽大处理设置为false,则该文档说,通过严格解析,输入必须匹配该对象的格式.我已经使用SimpleDateFormat使用par,没有宽松的模式,并且错误地,我在日期中有一个错别字(Letter o而不是数字0). (这是简短的工作代码:) // PASSED (year 199) SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.mm.yyyy"); System.out.println(simpleDateFormat.parse("03.12.199o")); simpleDateFormat.setLenient
0 2023-05-20
编程技术问答社区
pandas数据框架字符串格式化(访问一个给定的列)
我尝试使用新样式格式在给定/指定的列上显示条目: np.random.seed(1234) df = pd.DataFrame(np.random.randint(7, size=(2, 2)), columns=['a', 'b']) c = df.iloc[0, :] # get row number 0 print("Here is {one[0]} and {two}".format(one=c, two=c['b'])) # Ok ,但我想按以下方式进行: print("Here is {one['a']} and {two}".format(one=c, two=c['b'])) ## Unfortunately KeyError: "'a'" 可以做到这一点吗? 解决方案 我认为您可以删除one['a']中的'': print("Here is {one[a]} and {two}".format(one=c, two=c['b'])) H
6 2023-05-18
编程技术问答社区
Pandas数据框架的格式化
我有一个带有混合值的熊猫数据框.我正在开发iPython笔记本时正在工作.显示数据框时,我希望它显示以促进更轻松的阅读.目前,我正在使用Python String格式化将所有浮子显示为4个小数并添加千分离器. pd.options.display.float_format = '{:,.4f}'.format 理想情况下,我想例如显示超过10000的值,没有小数,有4个重要数字等的分数等.是否可以使用Python字符串格式语法来实现这一目标?我知道我可以为单个列做到这一点,但是我纯粹是为笔记本中的显示吗? 中的显示? 解决方案 您可以将功能传递给float_format,因此可以是任何东西 In [1]: df = DataFrame(dict(A = [1.2345,10000.12345,1])) df Out[1]: A 0 1.23450 1 10000.12345 2 1.00000 3 rows × 1 columns In [4
0 2023-05-17
编程技术问答社区