以上就是给各位分享Python/Django:如何从字符串中删除多余的空格和制表符?,其中也会对python删除字符串中的所有空格进行解释,同时本文还将给你拓展Android/Java正则表达式从子字
以上就是给各位分享Python / Django:如何从字符串中删除多余的空格和制表符?,其中也会对python删除字符串中的所有空格进行解释,同时本文还将给你拓展Android / Java正则表达式从子字符串中删除多余的零、C#字符串中去除多余的空格保留一个的实例、java – 从字符串中删除空格和特殊字符、java – 删除intelliJ中点周围的所有空格和制表符?等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- Python / Django:如何从字符串中删除多余的空格和制表符?(python删除字符串中的所有空格)
- Android / Java正则表达式从子字符串中删除多余的零
- C#字符串中去除多余的空格保留一个的实例
- java – 从字符串中删除空格和特殊字符
- java – 删除intelliJ中点周围的所有空格和制表符?
Python / Django:如何从字符串中删除多余的空格和制表符?(python删除字符串中的所有空格)
我正在使用Python /
Django构建网站。用户提交标签。每个标签可以包含多个单词。每个标签都有一个ID号。我想确保格式略有不同的标签仍被识别为同一标签。
例如,如果一个用户提交了“电吉他”标签,而另一个用户提交了“电吉他”标签(两个单词之间有两个空格),我希望能够识别出它们是同一标签。
在这种情况下,如何删除所有多余的空格和制表符?谢谢。
答案1
小编典典在任何空格上分割,然后在单个空格上合并。
'' ''.join(s.split())
Android / Java正则表达式从子字符串中删除多余的零
我有以下字符串作为输入:
"2.0,3.00,-4.0,0.00,-0.00,0.03,2.01,0.001,-0.03,101"
最终输出将如下所示:
"2,3,-4,0,0,.03,2.01,.001,-.03,101"
也就是说 ,将删除所有前导零和尾随零,并且正/负零都将简单地为零。
我们可以通过首先分割字符串并为每个部分使用Regex来实现。但是 我的字符串大小超过10000 。
我们怎样才能做到这一点Regex
呢?
编辑:
答案分析:
我已经用String测试了所有答案,"0.00,-0.00,00.00,-00.00,40.00,-40.00,4.0,-4.0,4.01,-4.01,04.01,-04.01,004.04,-004.04,0004.040,-0004.040,101,.40,-.40,0.40,-0.40"
并且
Wiktor Stribiewew的
答案通过了所有测试用例。(请参阅此处:https :
**_//regex101.com/r/tS8hE3/9_** )大多数情况下都通过了其他答案,但并非全部。
答案1
小编典典更新测试用例答案
使用以下正则表达式:
String rx = "-?0+\\.(0)+\\b|\\.0+\\b|\\b0+(?=\\.\\d*[1-9])|\\b0+(?=[1-9]\\d*\\.)|(\\.\\d*?)0+\\b";
并替换为$1$2
。参见另一个演示。
regex匹配多种选择,并 捕获 字符串的某些部分,以便以后在替换期间重新插入:
-?0+\.(0)+\b
-匹配一个可选的选项,-
后跟一个或多个0
s.
,然后匹配一个,然后 捕获 恰好一个0
但匹配一个或多个出现的对象(因为将(...)
放在上0
并将+
应用于该组);最后的单词边界要求最后一个匹配项之后出现一个非单词字符0
。在替换中,我们0
使用$1
反向引用还原。因此,-00.00
或00.00
将被替换0
。|
- 要么…\.0+\b
-点后跟一个或多个零的点,
(因为字符串以逗号分隔)。|
- 要么…\b0+(?=\.\d*[1-9])
-单词边界(字符串的开头或之后的位置,
),后跟一个或多个0
s,后跟.
+零个或多个数字,再跟非零数字(因此我们在仅包含零的整数部分中删除了前导零)|
- 要么…\b0+(?=[1-9]\d*\.)
-字边界,后跟一个或多个零,后跟一个非零数字.
(因此,我们从不等于的整数部分中删除所有前导零0
)。|
- 要么…(\.\d*?)0+\b
-捕获.
+零个或多个数字,但要尽可能少地捕获到第一个数字,0
然后才匹配一个或多个零(直到字符串或的末尾,
)(因此,我们去除了小数部分的尾随零)
在测试用例更新之前回答
我建议一个非常简单且简短的正则表达式来满足您的需求:
-0+\.(0)+\b|\.0+\b|\b0+(?=\.\d*[1-9])
替换为$1
。
请参阅regex演示。简短的IDEONE演示:
String re = "-0+\\.(0)+\\b|\\.0+\\b|\\b0+(?=\\.\\d*[1-9])"; String str = "2.0,3.00,-4.0,0.00,-0.00,0.03,2.01,0.001,-0.03,101,0.001,-0.03";String expected = "2,3,-4,0,0,.03,2.01,.001,-.03,101,.001,-.03"; System.out.println(str.replaceAll(re, "$1").equals(expected)); // TRUE
说明 :
-0+\.(0)+\b
-减号后跟一个或多个0
s(0+
),然后是文字点(\.
),然后是一个或多个零(并且仅捕获与0
匹配的最后一个(0)+
),再加上单词边界(,
在此上下文中位于之前)|
- 要么…\.0+\b
-文字点(\.
)后跟一个或多个零,后跟单词边界(,
在此上下文中,位于之前)|
- 要么…\b0+(?=\.\d*[1-9])
-单词边界(,
在此上下文中位于后面),后跟一个或多个零, 后跟 一个文字点(\.
),然后是零个或多个数字,然后是1到9范围内的一个数字(这样小数部分会更大)比0
)。
C#字符串中去除多余的空格保留一个的实例
在C#的字符串,其中有许多空格,现要求是把多余的空格去除保留一个。原理是使用Split()方法进行分割,分割有一个选项是RemoveEmptyEntries,然后再把分割后的字符串Join起来。
string string1 = "AAaaA Oopps 32 211 44.8 69 15.9 C# 36.7 0.6 "; string[] arr = string1.Trim().Split(new char[] { ' ' },StringSplitOptions.RemoveEmptyEntries); string result = string.Join(" ",arr); Console.WriteLine(result);
以上这篇C#字符串中去除多余的空格保留一个的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
java – 从字符串中删除空格和特殊字符
如何格式化字符串电话号码以删除特殊字符和空格?
该号码的格式如下(123)123 1111
我想让它看起来像这样:1231231111
到目前为止我有这个:
phone = phone.replaceAll("\\s","");
phone = phone.replaceAll("(","");
第一行将删除空格.然后我无法删除括号. Android工作室强调“(”并抛出错误未关闭组.
解决方法:
您可以删除除数字之外的所有内容:
phone = phone.replaceAll("[^0-9]","");
java – 删除intelliJ中点周围的所有空格和制表符?
在emacs中,有一个名为just-one-space的动作绑定到Meta Space.
它习惯了
Delete all spaces and tabs around point, leaving one space (or N
spaces).
我在emacs中经常使用这个动作,这对我来说非常有用.
我想知道在intelliJ中是否也有这样的行为?
(用例是这样的:
Line1
Line2
当我在Line1的末尾使用Ctrl k两次时,文本变为:
Line1 Line2
我需要几个动作来删除空格,使其像这样:
Line1 Line2
解决方法:
IntelliJ可以使用正则表达式,所以
Search: \b\s+\b
Replace: <space>
关于Python / Django:如何从字符串中删除多余的空格和制表符?和python删除字符串中的所有空格的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Android / Java正则表达式从子字符串中删除多余的零、C#字符串中去除多余的空格保留一个的实例、java – 从字符串中删除空格和特殊字符、java – 删除intelliJ中点周围的所有空格和制表符?等相关内容,可以在本站寻找。
本文标签: