1
A
回答
7
您可以使用字符串padding methods和一個小比賽calcualte中心位置:
var stringToCenter = "hello";
var totalLength = 100;
var centeredString =
stringToCenter.PadLeft(((totalLength - stringToCenter.Length)/2)
+ stringToCenter.Length)
.PadRight(totalLength);
您可以將此邏輯轉換爲擴展方法:
public static class StringExtensions{
public static string CenterString(this string stringToCenter, int totalLength)
{
return stringToCenter.PadLeft(((totalLength - stringToCenter.Length)/2)
+ stringToCenter.Length)
.PadRight(totalLength);
}
}
而且你可以用它喜歡
var centeredString = "hello".CenterString(100);
0
可以計算串lenght然後採取適當的填充:
"".PadLeft()
或"".PadRight()
4
我會加入這個爲@ nemesv的答案評論,但我缺乏信譽的堆棧溢出阻止它。
該答案中的代碼會導致在左側添加更多的填充。例如,在該答案的代碼中,hello中的「h」出現在第43位而不是第48位。
這個修改後的代碼平衡了填充。
var stringToCenter = "hello";
var stringToCenterLength = stringToCenter.Length;
var totalLength = 100;
var centeredString = stringToCenter.PadLeft(((totalLength - stringToCenterLength)/2) + stringToCenterLength).PadRight(totalLength);
0
我已經擴大了@ nemesv的回答包含超載接受填充字符,所以你可以得到的東西,如:
################################# Hello World! #################################
代碼:
using System;
public class Program
{
public void Main()
{
Console.WriteLine(" Hello World! ".CenterString(80, '#'));
}
}
public static class StringExtensions
{
public static string CenterString(this string stringToCenter, int totalLength)
{
return stringToCenter.PadLeft(
((totalLength - stringToCenter.Length)/2)
+ stringToCenter.Length).PadRight(totalLength);
}
public static string CenterString(this string stringToCenter,
int totalLength,
char paddingCharacter)
{
return stringToCenter.PadLeft(
((totalLength - stringToCenter.Length)/2) + stringToCenter.Length,
paddingCharacter).PadRight(totalLength, paddingCharacter);
}
}
例如:.NETFiddle
相關問題
- 1. 固定長度字符串的數字
- 2. C#中固定長度的字符串
- 3. 如何將字符串複製到C++中的固定長度字符串中
- 4. 拆分固定長度的字符串
- 5. 按固定長度分割字符串
- 6. 字符串的固定長度排列
- 7. 如何左對齊固定寬度的字符串?
- 8. 將可變長度字符串分配給固定長度字符串
- 9. 如何返回一個固定長度的字符串一個字符串的?
- 10. 哪裏是空字符的固定長度的空字符串?
- 11. C++ stringstream將固定長度字符串讀入字符數組
- 12. 在指定長度的子字符串中拆分字符串
- 13. 查詢中的字符串連接,將字符串填充到固定長度
- 14. 字符串的長度比字符串的長度長
- 15. C#:如何獲得字符串中的字符串的長度[]
- 16. 字符串對齊
- 17. 字符串對齊
- 18. 固定長度的唯一字母數字字符串
- 19. 從給定字符生成等長的固定長度的隨機字符串
- 20. 從動態字符串分割固定長度的字符串Vb.net
- 21. 字符串到小固定長度字符串的便宜映射
- 22. ruby將字符串拆分成固定長度的多個字符串
- 23. 將字符串拆分爲基於固定長度的子字符串vim
- 24. 如何使用awk提取固定長度的字符串?
- 25. 在不同長度的Html中對齊字符串
- 26. 在C中生成固定長度的字符串#
- 27. 長字符串與div對齊/形成
- 28. 檢查字符串內容?字符串長度對比空字符串
- 29. 中心對齊字符串
- 30. 如何獲取字符串數組的字符串長度?
其實我找到了我想要的(但在java中)http://stackoverflow.com/questions/8154366/how-to-center-a-string-using-string-format –
看看http:// www .csharp-examples.net/align-string-with-spaces/ –
@ Yoann.B看看這裏http://stackoverflow.com/questions/644017/net-format-a-string-with-fixed-spaces我希望它會幫助你.. –