我试图创建一个正则表达式,如果String模式包含空格或为空,将返回false.到目前为止,我有这个
[^\s]
Run Code Online (Sandbox Code Playgroud)
我认为这将确保字符串不包含空格,但我不确定如何检查以确保它不是空的.任何帮助,将不胜感激.
通过创建变量
var a = 'something' + ' ' + 'something'
Run Code Online (Sandbox Code Playgroud)
我得到这个价值:'something something'.
如何在JavaScript中创建一个包含多个空格的字符串?
<div><button>one</button><button>two</button></div>
<div>
<button>one</button>
<button>two</button>
</div>
?
Run Code Online (Sandbox Code Playgroud)
在第一个div中,两个按钮之间没有空格,第二个按钮之间没有空格.
现在让我们考虑另一个例子:
<div>a</div>
<div> b</div>????????????
Run Code Online (Sandbox Code Playgroud)
之前没有空间b.
a<b> bold</b> man
Run Code Online (Sandbox Code Playgroud)
现在之前的空白bold 是重要的
a <b> bold</b> man
Run Code Online (Sandbox Code Playgroud)
现在只有一个空格(在"a"之后或"粗体"之前)很重要.
当空格被剥离或折叠时,背后的确切规则是什么?
我正在使用Bootstrap的Navbar和Bootsrap的网格来显示一个Navbar,其中的图像紧挨着Navbar.但是,由于某种原因,此Navbar与图像之间存在空白.当我使用firebug来调查空白的位置时,看起来Navbar在其包含内是顶部对齐的.我试图通过使用CSS底部对齐导航栏来解决这个问题,但无济于事.
我怎样才能消除这个空白?
<!-- Top Navigation Bar -->
<div class="row" id="rowTopLinkNavBar">
<div class="span6 offset3" id="divTopLinkNavBar">
<div class="navbar" id="topLinkNavBar">
<div class="navbar-inner" style="font-size: 16px;">
<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li class="divider"><a href="#">PROJECTS</a></li>
<li class="divider"><a href="#">ABOUT US</a></li>
<li class="divider"><a href="#">THE TEAM</a></li>
<li class="divider"><a href="#">EVENTS</a></li>
<li class="divider"><a href="#">MEETINGS</a></li>
<li><a href="#">RESOURCES</a></li>
</ul>
</div>
</div>
</div>
</div>
<!--Background Image-->
<div class="row" id="rowBackgroundImg">
<div class="span6 offset3" id="backgroundImg">
<!-- background image is set in CSS -->
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
以下是我使用CSS解决此问题的绝望尝试:
#backgroundImg
{
color: #ff0000;
background-color: #000000;
/*width: 709px;
height: 553px;*/ …Run Code Online (Sandbox Code Playgroud) 我想知道在打印东西时如何删除额外的空格.
就像我这样做:
print 'Value is "', value, '"'
Run Code Online (Sandbox Code Playgroud)
输出将是:
Value is " 42 "
Run Code Online (Sandbox Code Playgroud)
但我想要:
Value is "42"
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我有一些情况,\u00a0当编码为utf-8 json时,来自html textarea或输入的用户输入数据有时会发送(非中断空格)而不是空格.
我认为这是Firefox中的一个错误,因为我知道用户不是故意放入不间断的空格而不是空格.
Ruby中还有两个错误,其中一个可以用来对抗另一个.
无论出于何种原因\s不匹配\u00a0.
但是[^[:print:]],这绝对不应该匹配)并且\xC2\xA0两者都匹配,但我认为那些是不太理想的方式来处理这个问题.
是否有其他建议可以解决这个问题?
base64编码的字符串可能包含空格吗?具体来说,它可以包含字符串末尾的空格吗?
PS.我在考虑整个"MySQL将在VARCHAR字段中存储字符串时修剪尾随空格"这里;-)
要在python中按空格分割字符串,通常使用split不带参数的字符串方法:
>>> 'a\tb c\nd'.split()
['a', 'b', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)
但是昨天我遇到了一个在单词之间使用ZERO WIDTH SPACE的字符串.将我的新知识转化为短暂的黑魔法表演(在JavaScript人员中),我想问一下如何更好地分割所有空白字符,因为这split还不够:
>>> u'a\u200bc d'.split()
[u'a\u200bc', u'd']
Run Code Online (Sandbox Code Playgroud)
UPD1
似乎sthgererally 建议的解决方案,但取决于一些操作系统设置或Python编译选项.很高兴知道确定的原因(如果可以在Windows中打开设置).
UPD2
cptphil发现了一个很好的链接,使一切都清晰:
所以我就此问题联系了Unicode技术委员会,并收到了回复后立即收到回复.他们指出,ZWSP曾经被认为是白色空间,但在Unicode 4.0.1中有所改变
来自unicode网站的报价:
将U + 200B零宽度空间从Zs改为Cf(2003.10.27)
使用U + 200B零宽度空间(ZWSP)时一直存在问题.该字符的功能是允许在通常不允许的位置处换行,因此在功能上是一般格式为Cf的格式字符.Unicode标准中详细记录了此行为,并且Unicode字符数据库中的字符不被视为空白字符.但是,由于历史原因,一般类别仍然是Zs(空间分隔符),这会导致角色被滥用.ZWSP也是唯一不是空白的Zs角色.一般类别可能导致对规则D13基本字符的误解,因为允许ZWSP作为组合标记的基础.
该提议是将U + 200B的一般类别从Zs改为Cf.
决议:已结束.在Unicode版本4.0.1中,U + 200B的常规类别将从Zs更改为Cf.
然后,这一变化反映在Python中.u'\u200B'.isspace()Python 2.5.4和2.6.5 的结果是True,在Python 2.7.1中已经存在False.
对于其他空间字符,常规split就足够了:
>>> u'a\u200Ac'.split()
[u'a', u'c']
Run Code Online (Sandbox Code Playgroud)
如果这还不够,请按照Gabi Purcaru下面的建议逐个添加字符.
键入string.whitespace为您提供一个字符串,其中包含Python string模块定义的所有空白字符:
'\t\n\x0b\x0c\r '
Run Code Online (Sandbox Code Playgroud)
双方\x0b并\x0c似乎给了一个垂直的标签.
>>> print 'first\x0bsecond'
first
second
Run Code Online (Sandbox Code Playgroud)
\v给出了同样的效果.这三种有什么不同?为什么string模块使用\x0b或\x0c更简单\v?
我经常读到我不应该在Haskell中混合制表符和空格,或者我根本不应该使用制表符.为什么?