4

string.PadLeft().NETでは、およびを使用string.PadRight()して、左右にスペースを入れて文字列を埋めることができます。

var myString = "test";
Console.WriteLine(myString.PadLeft(10)); //prints "      test"
Console.WriteLine(myString.PadLeft(2)); //prints "test"
Console.WriteLine(myString.PadLeft(10, '.')); //prints "......test"    
Console.WriteLine(myString.PadRight(10, '.')); //prints "test......"

Rの同等物は何ですか?

4

3 に答える 3

7

sprintfRに組み込まれているを使用します。

# Equivalent to .PadLeft.
sprintf("%7s", "hello") 
[1] "  hello"

# Equivalent to .PadRight.
sprintf("%-7s", "hello") 
[1] "hello  "

.NETと同様に、指定された数値は、テキストを収めたい合計幅であることに注意してください。

于 2013-02-04T12:18:36.590 に答える
6

長さをパラメータとして渡すことができます。

PadLeft <- function(s, x) {
  require(stringr)
  sprintf("%*s", x+str_length(s), s)
}

PadRight <- function(s, x) {
  require(stringr)
  sprintf("%*s", -str_length(s)-x, s)
}

PadLeft("hello", 3)
## [1] "   hello"
PadRight("hello", 3)
## [1] "hello   "
于 2013-02-04T12:26:00.080 に答える
5

str_padから使用stringr

library(stringr)
str_pad("hello", 10)
str_pad("hello", 10, "right")
str_pad("hello", 10, "both")
于 2013-02-04T13:38:27.627 に答える