簡體   English   中英

如何在 flutter 中將字符串列表轉換為字符串?

[英]How to convert String List to String in flutter?

我需要將List<String>轉換為 dart 中的String

我想從首選項中提取列表的值。 我已經嘗試過這個實現,但它只給了我最后一個值。

Future<List<String>> services = SharedPrefSignUp.getSelectedServices();
services.then((onValue){
  List<String>servicesList=onValue;
  selectServicesText=servicesList.join(",");
});

如果你知道你有List<String>那么你可以使用 flutter 提供的join()函數。

    var list = ['one', 'two', 'three'];
    var stringList = list.join("");
    print(stringList); //Prints "onetwothree"

簡單而簡短。 ;)

你可以像這樣使用它:

 List<String>servicesList=["one", "Two", "Thee"]; 
 print(servicesList.join(""));

您可以使用 StringBuffer 迭代列表和連接值

  var list = ['one', 'two', 'three'];
  var concatenate = StringBuffer();

  list.forEach((item){
    concatenate.write(item);
  });

  print(concatenate); // displays 'onetwothree'

  }

您可以在這樣的列表上使用reduce方法:

List<String> list = ['one', 'two', 'three'];
final string = list.reduce((value, element) => value + ',' + element);

// For your example:
List<String> servicesList = await SharedPrefSignUp.getSelectedServices();
selectServicesText = servicesList.reduce((value, element) => value + ',' + element);

如果要將List<String>轉換為coma septated String ,則可以執行此操作

 List<String> list =["one", "Two", "Thee"];
 print(list.join(","));  // Output will be like this : one,Two,Thee

Join()方法將每個元素轉換為字符串並連接字符串。

以防萬一有人想在對象列表中連接特定的成員字符串:這是一種方法 -

   string commaSeparatedNames=return listOfObjectsWithNameAttribute
      .map((item) => item.name)
      .toList()
      .join(",");
 print(list.toString().replaceAll('[', '').replaceAll(']',''))

如果您只需要突出顯示第一個單詞,請使用此

 import 'package:flutter/material.dart'; class TextHighlight extends StatefulWidget { final String text; TextHighlight({ required this.text, }); @override State<TextHighlight> createState() => _textHighlightState(); } class _textHighlightState extends State<TextHighlight> { String first = ''; List<String> allText = []; List<String> newText = []; @override Widget build(BuildContext context) { first = widget.text.split(' ').first; allText = widget.text.split(' ')..removeAt(0); return RichText( text: TextSpan( children: [ TextSpan(text: first+' ', style: TextStyle(color: Colors.green, fontSize: 17)), TextSpan(text: allText.join(' ').toString(), style: TextStyle(color: Colors.black)), ], ), ); } }

@nivia360 它為我工作!

問題是無法消除數組列表中的括號。 此代碼movie.tags.toString(),返回此列表帶括號
[Adventure, Fantasy, Action]

我解決了@nivia360 如何使用

movie.tags.toString().replaceAll('[', '').replaceAll(']', ''),

問題

解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM