2017-05-27 25 views
0

我在Stata一些脚本编写如下:崇高文字3:如何做排除空白行的多行选择?

* 1. count of firms in each bin 
grouplabs Inear_dist_km_0_10 Inear_dist_km_10_30 Inear_dist_km_30_60 Inear_dist_km_60_100 Inear_dist_km_100_150 Inear_dist_km_morethan150, groupvar(Inear_dist_km_gr) emptylabel(empty) 
graph hbar (count) if Inear_dist_km_gr !=1, over(Inear_dist_km_gr) name(n1) 

* 2. count of firms in each bin (bigger bins) 
grouplabs Inear_dist_km_0_20_v2 Inear_dist_km_20_40_v2 Inear_dist_km_40_60_v2 Inear_dist_km_morethan60_v2, groupvar(Inear_dist_km_v2_gr) emptylabel(empty) 
graph hbar (count) if Inear_dist_km_v2_gr !=1, over(Inear_dist_km_v2_gr) name(n2) 

* 3. GGK firm level bins 
grouplabs Inear_dist_km_GGK_0_10 Inear_dist_km_GGK_10_50 Inear_dist_km_GGK_morethan50, groupvar(Inear_dist_km_GGK_gr) emptylabel(empty) 
graph hbar (count) if Inear_dist_km_GGK_gr !=1, over(Inear_dist_km_GGK_gr) name(n3) 

我需要在每行的末尾添加字符;,而不是在每个脚本之间的空行。我已经尝试了Split into Lines技巧,在每行的末尾获取多个游标,但是该选择还包括两行之间的空行。这导致

* 1. count of firms in each bin; 
grouplabs Inear_dist_km_0_10 Inear_dist_km_10_30 Inear_dist_km_30_60 Inear_dist_km_60_100 Inear_dist_km_100_150 Inear_dist_km_morethan150, groupvar(Inear_dist_km_gr) emptylabel(empty); 
graph hbar (count) if Inear_dist_km_gr !=1, over(Inear_dist_km_gr) name(n1); 
; 
* 2. count of firms in each bin (bigger bins); 
grouplabs Inear_dist_km_0_20_v2 Inear_dist_km_20_40_v2 Inear_dist_km_40_60_v2 Inear_dist_km_morethan60_v2, groupvar(Inear_dist_km_v2_gr) emptylabel(empty); 
graph hbar (count) if Inear_dist_km_v2_gr !=1, over(Inear_dist_km_v2_gr) name(n2); 
; 
* 3. GGK firm level bins; 
grouplabs Inear_dist_km_GGK_0_10 Inear_dist_km_GGK_10_50 Inear_dist_km_GGK_morethan50, groupvar(Inear_dist_km_GGK_gr) emptylabel(empty); 
graph hbar (count) if Inear_dist_km_GGK_gr !=1, over(Inear_dist_km_GGK_gr) name(n3); 

我怎样才能排除在选择空行,以便只在它的字符线将有;在结束了吗?我感谢您的帮助。

回答

2
  1. 如果你确定你的空白行真的是空白,不填充空白字符按CTRL + H^使用正则表达式替换,搜索(?<!^)$;取代。

    • 正则表达式表示:找到行($)的末端不直接后((?<!…))开始(^)。
  2. 否则搜索(?<=\S)$但确保您没有havy任何尾随空格或制表符。

    • 如何“确认”:使用[^\S\n]+$找到并删除。
    • 第一个正则表达式:直接在行尾找到((?<=…))非空白字符,包括换行符。

    • 第二正则表达式表示:发现不属于任何的([^…])非空白字符或换行符字符序列(…+) - 即不包括换行符空白字符的序列 - 然后的端部线。

  3. 最直观的和友好的方式可能是
    • 找到你的空行与CTRL + ˚F,搜索^\s*$
    • ALT + 进入全选
    • menu> Selection> Invert Selection(现在您已经突出显示了否n空白行),
    • 继续与原来的拆分成线条技巧。