我正在尝试制作一个Ruby heredoc的问题.它正在返回每行的前导空格,即使我包含 - 运算符,它应该抑制所有前导空白字符.我的方法看起来像这样:
def distinct_count
<<-EOF
\tSELECT
\t CAST('#{name}' AS VARCHAR(30)) as COLUMN_NAME
\t,COUNT(DISTINCT #{name}) AS DISTINCT_COUNT
\tFROM #{table.call}
EOF
end
Run Code Online (Sandbox Code Playgroud)
我的输出如下:
=> " \tSELECT\n \t CAST('SRC_ACCT_NUM' AS VARCHAR(30)) as
COLUMN_NAME\n \t,COUNT(DISTINCT SRC_ACCT_NUM) AS DISTINCT_COUNT\n
\tFROM UD461.MGMT_REPORT_HNB\n"
Run Code Online (Sandbox Code Playgroud)
当然,这在这个特定的例子中是正确的,除了第一个"和\ t之间的所有空格.有没有人知道我在这里做错了什么?
我想要替换字符串中的所有超过2个空格而不是新行,我有这个正则表达式:\s{2,}但它也匹配新行.
如何仅匹配2个或更多空格而不是新行?
我正在使用c#
我知道这个评论 PHP.net.我想有一个像trPHP这样的类似工具,我可以简单地运行
tr -d " " ""
Run Code Online (Sandbox Code Playgroud)
我运行不成功的功能php_strip_whitespace通过
$tags_trimmed = php_strip_whitespace($tags);
Run Code Online (Sandbox Code Playgroud)
我运行正则表达式功能也失败了
$tags_trimmed = preg_replace(" ", "", $tags);
Run Code Online (Sandbox Code Playgroud) 我有几个字符串.有些人在开始时有空白,有些则没有.我想检查字符串是否以空格开头,如果是,则将其删除.
我通常在JavaScript中使用以下代码来按空格分割字符串.
"The quick brown fox jumps over the lazy dog.".split(/\s+/);
// ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
Run Code Online (Sandbox Code Playgroud)
这当然可以在单词之间存在多个空白字符时起作用.
"The quick brown fox jumps over the lazy dog.".split(/\s+/);
// ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
Run Code Online (Sandbox Code Playgroud)
问题是当我有一个具有前导或尾随空格的字符串时,在这种情况下,生成的字符串数组将在数组的开头和/或结尾包含一个空字符.
" The quick brown fox jumps over the lazy dog. ".split(/\s+/);
// ["", "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog.", ""]
Run Code Online (Sandbox Code Playgroud)
消除这些空字符是一项微不足道的任务,但如果可能的话,我宁愿在正则表达式中处理这个问题.有谁知道我可以用什么正则表达式来实现这个目标?
如何让Emacs显示空格(如空格,制表符,跳线等).像Kate和Eclipse这样的许多其他编辑器都有这个功能,我发现由于空格和制表符(特别是Python)的混合,看到代码被缩进的时候非常有用.
在textarea标签下有一些额外的空间.在不同的浏览器中从1到4像素.标记非常简单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style>
body {
margin: 0;
padding: 0;
}
.main {
background-color: red;
}
textarea {
background-color: gray;
resize: none;
margin: 0;
border: 0 none;
padding: 10px;
height: 50px;
overflow: hidden;
}
</style>
</head>
<body>
<div class="main">
<textarea></textarea>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
以下是它在浏览器中的呈现方式:

为什么会这样?如何删除这个额外的空间?
在工作中,我们是几个开发人员,并没有代码样式指南,一些开发人员缩进标签,而另一些开发人员有4个空格(幸运的是没有人使用不同于4个空格的空格缩进).一般来说这不是(大)问题,因为在我们的编辑器中我们设置tabwidth=4并且所有缩进看起来都是正确的.
但是,git diff或者git show出现的是:
diff --git a/mesclatabs.php b/mesclatabs.php
new file mode 100644
index 0000000..1986c91
--- /dev/null
+++ b/mesclatabs.php
@@ -0,0 +1,5 @@
+<?php
+function foo() {
+ echo "line with 1 tab\n";
+ echo "line with 4 spaces\n";
+}
Run Code Online (Sandbox Code Playgroud)
问题是git diff或者git show每个选项卡显示为8个空格(实际上显示为选项卡,而shell(在我的情况下是bash)将选项卡显示为8个空格.我想必须有一些bash配置要更改这个,但我想知道git是否有选项将选项卡输出为diff/中的4个空格show,因为有些开发人员使用zsh而不是bash.
有任何想法吗?
我有一个UITextView接受一个NSString与格式stringWithUTF8String.它从数据库获取它的值,我希望数据库中的文本在文本中呈现中断.我尝试使用\n这样做,但它被渲染为文本.在我的应用程序的信息页面中以直接文本的方式执行此操作,但我认为从数据库中取出它时不起作用的原因是因为格式化.
有什么建议?
是否可以在显示空格时定义标签宽度(例如在<pre>标签或其他内容中)?我用CSS找不到任何可以做到这一点的东西,但这似乎是一件很常见的事情.
在我的情况下,标签宽度太宽,导致我的一些页面上的代码片段太宽.如果我可以以某种方式缩短标签宽度以使其适合没有滚动条,它将使事情变得更容易.(我想我可以用空格替换标签,但理想情况下我很乐意找到一种方法来做到这一点而不这样做)