我想添加一个数字的多个空格是“20120911162500
”前四个添加空格然后每两个添加一个空格。
所需的输出
2012 09 11 16 25 00
这就是我的尝试:
echo "2012 09 11 16 25 00" |sed 's/.\{4\}/& /g'
但输出为2012 0911 1625 00
。
答案 0 :(得分:1)
这可能适合你(GNU sed):
sed 's/../ &/3g' file
这为第三对字符添加了一个空格,之后每2个字符。
答案 1 :(得分:0)
You can do this way:
echo "20120911162500" |sed 's/.\{2\}/& /g;s/ //'
2012 09 11 16 25 00
Add space to every 2 digits s/.\{2\}/& /g
then remove the first space to make it 4 digits s/ //'
.
答案 2 :(得分:0)
创建文件
<强> f.awk 强>
function sep(i, n) { # which separator to use?
if (i==n) return ""
if (i<4) return ""
if (i % 2 == 0) return " "
return ""
}
function format(num, n, i, ans) {
n = split(num, a, "")
for (i=1; i<=n; i++)
ans = ans a[i] sep(i, n)
return ans
}
{
print format($0)
}
用法:
echo 12345678901234 | awk -f f.awk
答案 3 :(得分:-1)
使用添加按钮单击事件
它将在四位数之后首先给出空格,然后在两位数之后给出第二位,依此类推
例如
string data = TextBox1. Text;
string[] no = new string[data.Length];
string number = "";
int k = 4;
for (int i = 0; i < data.Length; i++)
{
if (i == k)
{
number += " ";
k = k + 2;
}
number += data[i] ;
}
Label1.Text = number.ToString();